NetBeans comes with HTML 5 project support. The project wizard accelerates the setup:
Real World Java EE Workshops [Airport Munich]>
|NetBeans Zone - The social network for developers|
|APIDesign - Blogs|
|David R. Heffelfinger|
|Carsten Zerbst's Weblog|
|Winston Prakash's Weblog|
|Michael's blog » NetBeans|
|Paulo Canedo » NetBeans English|
|Need to find a title|
|Category: NetBeans | Software and Science|
|Roger Searjeant's blog|
|Allan Lykke Christensen » NetBeans|
|Inspiration and Expression » Netbeans|
|James Selvakumar's Blog » netbeans|
|open source. open mind.|
|John O'Conner » NetBeans|
|nB gUru » NetBeans|
|Newsintegrator Blog » netbeans|
|Praxis LIVE » NetBeans|
|TechAshram » NetBeans|
|There's no place like 127.0.0.1 » Netbeans|
|Ignacio Sánchez Ginés » NetBeans|
|Michel Graciano's Weblog|
|Ozone and Programming » netbeans|
|NetBeans Ruminations » NetBeans|
|Tiplite » netbeans|
|Arun Gupta, Miles to go ...|
|.JARa's Bilingual Weblog|
|The Java Jungle|
|The NetBeans Community Podcast|
|NetBeans for PHP|
|NetBeans Web Client|
|My First Blog - Satyajit Tripathi|
|Insert Witty Irony Here|
|Netbeans6/6.5 my best practices|
|Java Evangelist John Yeary's Blog|
|Neil's Dev Stuff|
|Computer says null;|
|NetBeans Adventures, Java and more|
|NetBeans Community Docs Blog|
|The Netbeans Experience|
|NbPython/ jpydbg / pymvs|
|Shanbag's Blog (ರಜತ ಲೋಕ)|
|Wade Chandler's Programming Blog|
|Big Al's Blog|
|In perfect (spherical) shape|
|Van Couvering Is Not a Verb|
|Diego Torres Milano's blog|
|Messages from mrhaki|
|Oliver Wahlen's Blog|
|Shuttle between Galaxies|
|Welcome to my live...|
|Netbeans IDE Blog by Tushar Joshi, Nagpur|
|Where's my Blog?!|
After introducing Nanoservices, now it is time for some Pico:
A very exciting development for NetBeans users (and developers of applications based on the NetBeans Platform) everywhere.
Take a look at the screenshot below.
Take a look at it again, in particular the buttons within the red rectangle:
Right now, as you can see, those buttons are disabled. Now, however, because more than one document is open, those buttons are enabled:
The buttons are for tiling the editor documents. Here you can see the effect of clicking "Tile Evenly", which is the third of the four buttons:
And this is "Tile Vertically":
There's also "Tile Horizontally" and "Tile Single" (which untiles the tiled documents).
If you'd like this in NetBeans IDE, download the plugin here (restart NetBeans after installing the plugin), while this is also a plugin that is relevant to any other application on the NetBeans Platform that has editor documents. These documents can either be actual text editors or TopComponents of some other kind, e.g., GUI components where the user should be able to enter data of some kind.
The source code of the above is here, so that you can integrate it into your own NetBeans Platform application, and where you can also read more about it, including the implementation code, of course:
Many thanks to Norman Fomferra and others from Brockmann Consult in Germany, who created and open sourced this solution as part of the ESA Sentinel Toolbox, a NetBeans Platform application that is being created for the European Space Agency:
Here's the ESA home of the Sentinal Toolboxes:
They've extended the tiling idioms already, so that they now have tileable internal desktops, i.e., workspaces, with floating TopComponents.
They'll be separating out this solution, so that this will be pluggable, and the sources available separately, too. Pretty cool having rocket scientists (OK, they'll deny they're that, but they work in the space industry and are computer scientists, which to me means you're a rocket scientist) working on NetBeans code, isn't it? :-)
Imagine you're a teacher. You're teaching a Java course and your students turn in their homework exercises in the form of NetBeans projects. Now you have thirty NetBeans projects, many of them open in NetBeans IDE. For each of them, you need to load an external file as an argument to the main class. Then that file is processed and you can then see whether the code works as expected.
To set the file as an argument for a project, you need to right-click the NetBeans project, choose Properties, and then go to the Run tab, where you can set the runtime argument. That's a lot of tedious work for 30 different projects, plus sometimes you need to change the argument because you want to run a different file or some other set of arguments against the code that your students have provided.
Precisely this problem was described to me at the Hanzehogeschool in Groningen some weeks ago by Michiel Noback, who is one of the teachers there. In the first implementation of the solution, I created a plugin that lets you type the runtime arguments of the current project in the status bar. But, of course, then new requirements came in, one of which was to have some kind of history of the entered arguments, so that the teacher can easily reuse previously used arguments. The status bar isn't a good place for this, since a drop-down list of some kind is needed, so I moved the feature into the toolbar:
Take note of the drop-down list in the toolbar above. How to use this feature? Firstly, make sure a file is open from the project where you want to set the runtime properties via the drop-down list in the toolbar. It can be any file from that project, most logically it would be a Java source file, since that's where you'll be focused on when examining a student's work. Then go to the drop-down list in the toolbar and type the arguments you'd like to pass into the constructor of the application. Then, importantly, press Enter. When you press Enter, a change is made to the project.properties file where the runtime arguments are defined. At the same time, the arguments you entered are added to the list in the drop-down, so that you can later look in that list, find the arguments you'd like to reuse, and then press Enter again to apply them to some other current project you're looking at.
Get the plugin here, works in NetBeans IDE 8.0.2:
Apparently there's a bug with this, related to setting breakpoints, but I haven't been able to reproduce that problem yet.
When you assign a code template to a context, the Code Completion box will show your code template in the context where you're working. Nice and powerful and hidden tip, watch it in action here:
Related discussion: https://netbeans.org/bugzilla/show_bug.cgi?id=212176
Continuing a series of articles focusing on NetBeans users and their five favorite NetBeans IDE features, here's the next part, by Clement Levallois. -- NetBeans team. Preview Text: Robustness, code generation, hints, Java EE and more! Find out what Clement Levallois from Lyon, France, likes about NetBeans IDE. Legacy ...
Everything you need to know about where and how to find, display, and configure code templates in NetBeans IDE!
Assigning a directory name to the $ENV.PWD variable:
$ENV.PWD="[DIR_NAME]" changes the working directory for the next command:
ls command will print the contents for directory specified earlier:
#!/usr/bin/jjs -fv print('Tmp Directory'); $ENV.PWD='/tmp'; $EXEC('ls -al'); print($OUT); print('Root Directory'); $ENV.PWD='/'; $EXEC('ls -al'); print($OUT);
Bis Guard & Co provides code protection tools for Java, among other languages and technologies. Recently, Bis Guard has released the Java Antidecompiler plugin for NetBeans IDE. Get started with it as described below. Installation 1. Download "1418138973_JavaAntidecompiler.zip" from this location: http://plugins.netbeans.org/plugin/51308/javaantidecompiler ...
When you're creating plugins for NetBeans and you want to reuse an icon that you see in NetBeans, what do you do to find that icon in the NetBeans sources? Tackling this challenge is described in this short YouTube clip:
Let's get started with Python in NetBeans IDE 8.0.2.
Take the following steps:
&amp;amp;lt;span id=&amp;amp;quot;XinhaEditingPostion&amp;amp;quot;&amp;amp;gt;&amp;amp;lt;/span&amp;amp;gt; &amp;amp;amp;lt;/p&amp;amp;amp;gt;
Right now, the main missing feature is the set of well established smart editor features in NetBeans IDE, such as code completion, i.e., when you press Ctrl-Space, nothing happens. No error checking, i.e., no parsing is done, either. These are things being worked on right now. However, you can code and run and debug your Python applications, which is a lot more than nothing.
Feedback welcome, especially if you're planning to contribute code to this project.
During the sold-out NetBeans day in Munich with Toni Epple and Geertjan Wielenga, we remembered (Geertjan's Report (green dot on a purple line), my coverage) a NetBeans World Tour trip from Poznan to Gdansk in October 2008 with a rent car and with iPhone 1 as a navigation with a poor internet coverage.
Six years later I gave a session Building Reasonable JavaEE 7 Apps on Java8 called “Microservices" for the Tricity Java User Group. It was exactly the same location and I also used NetBeans.
My airplane was supposed to land in Gdansk, but the weather conditions were bad and the airport was closed. We landed in Poznan instead. Buses were supposed to bring us to Gdansk, but no one knew when they will arrive.
After a hard negotiation I took a taxi instead. The taxi driver was very nice and funny. However, he did not knew the route to Gdansk and was afraid to go fast. I used my phone to navigate him to Gdansk and the venue. At the same time I cranked some Java EE code on the back seat and concurrently watched the speed of the car. I reminded the driver to go fast at any attempt to slow down.
As the driver recognized, that >100 attendees are waiting for us in Gdansk, he became really nervous and begun to sweat.
We had a single stop (at a graveyard) to detach the taxi-light at the roof--to go faster.
Via email I kept Kuba Marchwicki informed about the progress. I came one hour later and Kuba delivered a prelude talk to keep the crowd entertained.
I enjoyed the session, got many interesting questions. The event was stopped by the security--they wanted to close venue for the night.
Next day the airport was still closed. I rent a car and went to Warsaw. But this is a different story :-)
I'm really looking forward to the next Trinity Java User Group meeting. I'm curious what happens then :-).
I had a fantastic time at DevFest Istanbul, Turkey, on Saturday 6 December. It was the first time I was in Turkey. However, over several months, even before knowing I'd be going to this conference, I'd been following a free on-line Yale course on medieval history and then, hey, there I was in Constantinople. Fortunately, Mark Stephens, from NetBeans partner IDRsolutions, and one of the new NetBeans Dream Team members, turns out to have studied medieval history for many years, so turned out to be a perfect tour guide, when we went with a small group to many historical sites, such as the Hagia Sophia.
The conference itself was excellent. Three thousand turned up, to the free conference, which is about twice as many as last year. Mark Stephens did a great session entitled "5 Reasons Why NetBeans Should Be In Every Developer's Toolkit" and I followed with a packed out room, i.e., 800 at least, since many were standing at the doors, "Coding for Desktop and Mobile with HTML5 and Java EE 7", which showed many features in NetBeans, such as the HTML5 tools, Chrome integration, AngularJS features, and Java EE code generators.
Also on the agenda were sessions by PrimeFaces and Vaadin, while Martijn Verburg, London JUG lead, Java champion, etc etc, and one of the new NetBeans Dream Team members did his "The Habits of Highly Effective Teams". But there was much more, in four tracks, most of which I missed because I was at the NetBeans booth answering heaps of questions about NetBeans. We also worked on the next NetBeans community podcast, which will again feature interviews done by NetBeans users with each other, all recorded during the conference.
Another highlight was that Dorine Flies from "Encouraging Programming in Kids" (together with Luke Mayell and others) did another Minecraft hacking session with kids and their parents. Of course, they started by setting up NetBeans and the JDK, after which they ran Minecraft from NetBeans and then hacked it.
It was great seeing heaps of little kids with NetBeans on their laptops!
And I'll be working a bit more on the NetBeans shisha integration soon, in gratitude to all the nargile I consumed.
All in all, a great few days, thanks everyone for making it possible, for being so enthusiastic, and I hope I'll be there again next year!
The NetBeans Dream Team has expanded massively over the past week! Sixteen new members have joined, from many corners of the world. Preview Text: The NetBeans Dream Team has expanded massively over the past week! Sixteen new members have joined, from many corners of the world. Legacy Sponsored: ...
One of the organizations present at NetBeans Day Germany last week was SSB Software Service und Beratung GmbH, based in Munich, a software company with more than 20 years of experience focused on integrated solutions for the printing industry.
Diso21 Client is a NetBeans Plattform application created by SSB to provide an ERP system for modern printing companies. It helps to manage and to automate enterprise processes. The application has a modular architecture and allows for a flexible arrangement of workplaces. The Diso21 Client has an integration API to embed third party systems to increase productivity.
Here's a screenshot, click to enlarge it:
It will be added to the NetBeans Platform Showcase soon.
Over the weekend the second DevFest Istanbul conference took place. It is a sign of the growing uptake of NetBeans above and beyond its traditional users that there was also a big NetBeans element. It is the second time it has been run and about 3000 people attended. There were two talks on NetBeans, an introductory talk on reasons to use NetBeans... and a detailed tutorial on writing web...
See airhacks.tv for past episodes.
Any questions left? Then join the conversation at each first Monday of the month at 6 P.M. live, and ask questions commenting / pulling on github (hurry up, some questions are already asked) or write comments on this blog.
AsciidoctorJ is the official library for running Asciidoctor on the JVM.
Here's the start of support for AsciidoctorJ in NetBeans IDE. New AsciiDoc files can be created and you have a source editor where you can write AsciiDoc. Currently, no syntax coloring, etc, yet.
When you click the Visual togglebutton above, AsciidoctorJ is used to convert the AsciiDoc:
Right now, the conversion options are hardcoded, using CodeRay, a Ruby library for syntax highlighting. Thanks to AsciidoctorJ, no Ruby needs to be installed, since AsciidoctorJ wraps the gems. Notice the code below, which was as much fun to figure out as something really not fun and could still be wrong and looks problematic. But it works.
Asciidoctor doctor = Asciidoctor.Factory.create(Arrays.asList( "gems/asciidoctor-1.5.0/lib", "gems/coderay-1.1.0/lib", "META-INF/jruby.home/lib/ruby/1.8")); String html = doctor.convert(obj.getPrimaryFile().asText(), getInitialOptions()); htmlEditorPane.setText(html);Need to integrate the Progress API into the above so that the progress bar runs while the conversion is taking place.
The source code of the above is here, looking forward to clones and pull requests:
Timeouts are crucial for robustness of the communication between reasonable WARs (also known as micro services).
Timeout settings are not standardized and have to be passed as "proprietary" properties of the JAX-RS client:
The "provided" dependency highlighted above can be omitted by using the
import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import org.glassfish.jersey.client.ClientProperties; Client client = ClientBuilder.newClient(); client.property(ClientProperties.CONNECT_TIMEOUT, 100); client.property(ClientProperties.READ_TIMEOUT, 10);
Stringrepresentation of the constants:
Timeouts will cause:
client.property("jersey.config.client.connectTimeout", 100); client.property("jersey.config.client.readTimeout", 10);
java.net.SocketTimeoutException: Read timed outexception which can be easily handled. A few years ago we would talk about exception handling and robustness, in the age of micro services we can call it now "resilience" :-).
Today I have two new/updated plugins for the price of one! One costs zero money and therefore two do, too.
Firstly, I find the concept of a key promoter very handy, but the initial version of the plugin provided too much noise. Now, instead of using the Notifications window, the keyboard shortcut, if there is one, that matches the action invoked from a menu item or toolbar button is shown in the status bar:
Secondly, I'm going to be using only the keyboard (and not the mouse) as much as possible and "Distraction Free Mode" as much as possible, from now onwards. That means I want the tools I need to use to be close at hand. Therefore, rather than all the clicking I need to do to undock the Navigator, bring it to where I want it to be, etc etc, I've created a new plugin that lets you press Alt-Q (the "q" is the "Q" in "Quick Member Search"), at which point the Navigator will undock itself and appear as a small dialog in the editor. Especially powerful when you're already in "Distraction Free Mode" (Ctrl-Shift-Enter).
The Navigator that you see above appeared in the editor when I pressed Alt-Q. I did not need to (1) open the Navigator via Ctrl-7 or a menu item in the Window menu and then (2) move my mouse to the Navigator in its docked position in the lower left and then (3) right-click in the tab of the Navigator with my mouse and then (4) choose Float in the popup menu with my mouse and then (5) drag the Navigator with my mouse into the editor. No, instead of all that, I simply pressed Alt-Q and automatically the Navigator was put where I wanted it.
Anyone have requests for other small and handy power tools for NetBeans IDE? Let me know, especially if you're interested in working on them together with me.
As afterburner.fx became more popular, I got many interesting community contributions. I rejected most of the pull requests, because I could not find the "killer use case" for most of them. afterburner.fx should remain lean and simple.
In addition the "topgun" edition is also available from maven central:
<dependency> <groupId>com.airhacks</groupId> <artifactId>afterburner-topgun.fx</artifactId> <version>1.6.2</version> </dependency>
There are no changes for coordinates of the default afterburner.fx:
<dependency> <groupId>com.airhacks</groupId> <artifactId>afterburner.fx</artifactId> <version>[LATEST_RELEASE]</version> </dependency>
See you at Java EE Workshops at Munich Airport!
Last weekend I was training a small group of developers on Polymer during a local Google Developer Group DevFest here in Burkina Faso. Basically, Polymer is a new web UI framework that helps programmers to develop modularized web applications with cross-browser capabilities. Polymer is composed of four main layers: Preview Text: Last...
NetBeans Day in Munich, Germany, held yesterday, was pretty amazing. Despite having been arranged at the last minute, and undermined a bit by Lufthansa strikes and Deutsche Bahn hiccups, the room was filled to almost maximum capacity, certainly around 100 attendees were present. (Registration for the event had to close soon after it opened, because there was only room for 100.) The key people to thank for the event are Peter Doschkinow from the Oracle office in Munich and Toni Epple from Eppleton. They set up the whole day, invited speakers, and so on. Oracle hosted the event, provided coffee and lunch, and the room itself was really nice.
Aside from the rockstar speaker line up, which included Adam Bien, Gerrit Grunwald, and Markus Eisele, quite some well known faces attended, such as Sven Reimers, Florian Vogler, and Martin Klähn, as well as uber NetBeans plugin developer Benno Markiewicz. And Reinhard Schmitz flew all the way from Luxembourg. I met Norman Fomferra and Marco Peters for the first time, who're working on a NetBeans Platform application for the European Space Agency, though there were so many people that I didn't get to talk to nearly all of them. Especially, I missed talking to guys who attended from ConSol, where NetBeans Platform work is also being done, while I learned about several NetBeans Platform applications that I'd never heard of before, such as at SSB and Transver, both organizations in Munich.
09:00 - 09:10 Anton Epple, Geertjan Wielenga, Peter Doschkinow: "Welcome to NetBeans Day"
09:15 - 10:10 Gerrit Grunwald: "Catch me if you can" - Java on Wearables
10:15 - 11:10 Markus Eisele: "Manage JBoss EAP, WildFly and OpenShift with NetBeans"
11:15 - 12:15 Adam Bien: "The Microservice IDE: From Java EE To Angular"
12:15 - 13:15 Mittagspause & Open Space
13:15 - 14:10 Anton Epple: "Write Once Run Anywhere with DukeScript"
15:15 - 15:45 Kaffeepause
15:45 - 16:45 Geertjan Wielenga - "Heaps of Cool Hidden Goodies in NetBeans IDE"
16:50 - 17:50 Sven Reimers: "NetBeans Platform - Inifinite Evolution"
18:00 - 18:30 Geertjan Wielenga: "Manage Oracle Cloud, Oracle Developer Cloud Service, and WebLogic with NetBeans"
For me, the question of the day was asked during a break in the program by Stefan Gürtler from Transver who asked me: "How do you find your methods in NetBeans IDE?" (Somebody then said "if you need to look for your methods, your class is too large", which was an interesting assertion.) I mentioned the Navigator but he said he'd like to be able to pop up a small dialog, like in other IDEs, within the editor, and then quickly search for a method, at which point the list would filter down to the one he wants to work with. That sounds cool and here's the start of that:
The current implementation is that you start typing and immediately the filtering happens:
It's very simple so far, but the idea is you'll be able to press Alt-Q, do your search, find the member you need, click on it, and then the popup closes and the cursor is on the member in the editor. The plugin can be cloned and I'm looking forward to getting pull requests!
The plan is for multiple NetBeans Days to be held around the world. Now that we have a good location in Munich, we'll be able to hold more such events there. The next NetBeans Day is planned to be held during March or April next year. Probably it will be done quite differently to yesterday. For example, maybe there'll be multiple tracks and definitely there should be more time for talking and getting to know each other. Maybe small workshops on e.g., creating NetBeans plugins, could be good to include too.
Thanks to everyone who came, looking forward to next time!
The WakaTime plugin tracks time by project, branch, language, among other things for individual developers as well as teams. Here’s what the dashboard looks like: Preview Text: The WakaTime plugin tracks time by project, branch, language, among other things for individual developers as well as teams.
There are many reasons why it makes sense to use NetBeans IDE for your software development work. But, of those many reasons, what are the top reasons? Here they are, the top 7 reasons, explained together with demos and slides!
&amp;amp;amp;lt;span id=&amp;amp;amp;quot;XinhaEditingPostion&amp;amp;amp;quot;&amp;amp;amp;gt;&amp;amp;amp;lt;/span&amp;amp;amp;gt; &amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;gt;
Questions for the 1st December, Monday, 6 P.M. CET, 9th edition of the http://airhacks.tv show:
@AdamBien what would be your take on how to most elegantly deal with resilience and service discovery for JavaEE7 #microservices ? (tweet by @niko_nava)
OData vs. RAW Json (email question from Louw)
what logging framework do you normally use? Seems slf4j is the only library i can’t get rid of in my WARs… (tweet @MichelSchudel)
How to transform entities with OneToMany relationships into json for JAX-RS (lazyinitialization exception is thrown if relationship is not fetched)? Let’s say I have methods getAllUsers() and getAllUsersWithDetails(). I was able to do it with jackson and its jackson-datatype-hibernate dependency. Is there any other, better way? MougLee
I have seen your videos on ECB pattern, but I am not sure, what goes into Control and what into Boundary. You said, that you do it with refactoring, when Boundary gets to big … Could you please provide any more pointers? MougLee
I have a feeling, I have to deploy/redeploy my application all the time during development. Do you have any tips to speed up development as much as possible and avoid deploying code? Without JRebel :-) MougLee
What’s in your opinion the preferred way to handle service-versioning for REST services? mliebl
We are running a JEE application with thousands of EJBs (EAR with 3 different projects refered) which takes around 10 minutes for server start up. Mainly time spent on creating and loading EJBs at startup. How can I bring down the startup time of Jboss server at least in development environment. surendrand
What is the most efficient way to communicate between two μ-Services especially 1. when they are deployed as different WARs and 2. on different Docker images but on the same Docker “Host”/VM/machine. 0x001D
What do you do for simple reporting in enterprise projects ?? Use a BI solution and integrate it ? any alternative ? cristhiank
What are the possible solutions for API Gateway in JavaEE enviroments. Specifically when there is different JavaEE app per business line exposing RestAPIS. tegbird
What are ur views on API management tools provided by vendors as centralized solution to APIs. Is it going the same way as ESBs did to SOA. Nobody understood them, overated and underused. tegbird
I would like to ask you what is more preferable in your opinion: serializing enums to json using enum names in order to send via rest or using enum values instead of enum names for example in case as below: RED(“red”), BLUE(“blue”); 4tran
sometimes you are talking about your personal server you build every 3 years. Can you provide some details (list of components) about your current configuration? github0x1
Most of my JavaFX applications have composite views and so the sub-views have to communicate with each other. I hate nesting controllers using @FXML injection. I think it creates a strong coupling between the views. I use afterburner.fx in most of my projects. What do you think is the best way to communicate across sub-views within a composite view? Thanks. raghsr
Do you have any additional questions? Ask now, file them https://gist.github.com/AdamBien/a048fa8262ad12069e94 or wait a month :-)
The best of all: you can ask the questions live, during the show using the chat: http://www.ustream.tv/channel/adambien, twitter (hashtag "#airhacks") or (the best option): using channel ##airhacks on http://freenode.net.
See you at Java EE Workshops at Munich Airport, Terminal 2.
Not all artifacts in a Maven repository are packaged as OSGi bundles. Yet, some systems (like for example the Bck2Brwsr ahead-of-time compiler) require JAR to contain OSGi meta-data. Luckily there is a simple way to turn any JAR into OSGi bundle by creating a simple Maven project. Here is the sample pom.xml:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > <modelVersion>4.0.0</modelVersion> <groupId>your.group.id</groupId> <artifactId>jar-id</artifactId> <version>1.0-SNAPSHOT</version> <packaging>bundle</packaging> <!-- we want to produce an OSGi bundle --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <repositories> <!-- we are wrapping a JAR from NetBeans Maven repository --> <repository> <id>netbeans</id> <name>NetBeans</name> <url>http://bits.netbeans.org/maven2/</url> </repository> </repositories> <dependencies> <!-- specify the dependency you want to wrap as OSGi bundle --> <dependency> <groupId>org.netbeans.external</groupId> <artifactId>nb-javac-api</artifactId> <version>RELEASE80</version> <!-- we need the dependency only during compilation --> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>2.3.7</version> <extensions>true</extensions> <configuration> <instructions> <!-- export the packages that should be externally accessible --> <Export-Package>javax.*</Export-Package> <!-- list other packages that should be included in your bundle --> <Private-Package>com.sun.*</Private-Package> </instructions> </configuration> </plugin> </plugins> </build> </project>
And that is all! After building the project, you'll get an OSGi bundle that contains all the classes from the specified dependency found in exported and private packages. Just copy the above text into pom.xml file and in its directory execute yourself:
$ mvn package $ unzip -l target/jar-id-1.0-SNAPSHOT.jar # shortened ... 4539 2014-02-14 11:52 com/sun/source/util/Trees.class 125 2014-02-14 11:52 com/sun/source/util/package-info.class 5109 2014-02-14 11:53 javax/annotation/processing/AbstractProcessor.class # ...shortened $ unzip -p target/jar-id-1.0-SNAPSHOT.jar META*MAN* Manifest-Version: 1.0 Bnd-LastModified: 1417267436493 Build-Jdk: 1.8.0_25 Bundle-ManifestVersion: 2 Bundle-Name: jar-id Bundle-SymbolicName: your.group.id.jar-id Bundle-Version: 1.0.0.SNAPSHOT Created-By: Apache Maven Bundle Plugin Export-Package: javax.annotation.processing;uses:="javax.lang.model,java x.tools,javax.lang.model.element,javax.lang.model.util";version="1.0.0. SNAPSHOT",javax.lang.model.util;uses:="javax.annotation.processing,java x.lang.model,javax.lang.model.element,javax.lang.model.type";version="1 .0.0.SNAPSHOT",javax.lang.model;uses:="javax.lang.model.element";versio n="1.0.0.SNAPSHOT",javax.tools;uses:="javax.lang.model.element,javax.an notation.processing,javax.lang.model";version="1.0.0.SNAPSHOT",javax.la ng.model.type;uses:="javax.lang.model.element,javax.lang.model";version ="1.0.0.SNAPSHOT",javax.lang.model.element;uses:="javax.lang.model.type ,javax.lang.model";version="1.0.0.SNAPSHOT" Import-Package: javax.annotation.processing,javax.lang.model.element,jav ax.lang.model.type,javax.lang.model.util,javax.tools Tool: Bnd-1.50.0
--JaroslavTulach 13:07, 29 November 2014 (UTC)
My name is Brian Jenkins, and I am the Chief Financial Officer and Chief Information Officer for Newport Service Corporation. The company provides computer services to several companies in the retail hard assets marketplace; one of which is Monaco Rare Coins (“Monaco”). Preview Text: "Monaco" is a rare coin dealer, which has account...
At Droidcon, beginning of this week, the main thing I learned was during a conversation in the hallway right at the end of the conference. According to the two guys I was talking with:
I'm sure they factor into the equation that the above perspectives aren't always correct. For example, an Android user might be wealthier than an iPhone user, but out of principles, e.g., related to open source for example, might base their decision on something other than wallet size, while simultaneously the iPhone user might be less wealthy while valuing the iPhone as a status symbol and might therefore pay more for a mobile device than wallet size would suggest. Etc.
Aside from the error factor at play, there's another way of looking at this scenario, assuming it is true—look at it as a progressive measure whereby the wealthy subsidize the purchases of those with thinner wallets. Again, though, factor in that not everyone fits the analysis and that you may not have been doing comparison-shopping when looking at competing sites for similar products.
And yet another way of looking at this is to see it as part of the larger trend of individualization, e.g., nowadays people don't watch TV but go to YouTube or other on-line channels for entertainment, choosing a highly individual entertainment track. However, here they have a choice. I don't like the idea of others choosing for me, e.g., deciding that I'm wealthier and thus offering me higher prices, without telling me about it.
Then again, all of this assumes that the two random guys in the hallway at Droidcon weren't talking rubbish. But, if it isn't happening already, it soon may be. Maybe a way around it all is to have different devices where you do different kinds of searches to confuse the analyzers. Or just go to the good 'ol travel agent and bookstore, instead of booking and buying on-line, if you can still find them, that is.