Posted
9 days
ago
by
mkleint
When I was playing with JavaRebel in April, it was not possible to use JavaRebel with the NetBeans platform. Basically because the module system is just another container and for each container you need a JavaRebel plugin. The guys at Zeroturnaround
... [More]
wrote the plugin a few weeks back (thanks!) so I've downloaded the nightly build and tried to experiment a bit. I've also worked some more on Compile on Save support for 6.8, so I wanted to test how far we've got with #161337. Here's the result. [Less]
Posted
9 days
ago
by
mkleint
I've uploaded the Netbeans 6.7 final artifacts to the Maven repository at http://bits.netbeans.org/maven2/. It contains the module jars, NBM files, javadoc and source jars and other artifacts relevant to 6.7 release.
Please note that when
... [More]
upgrading your NetBeans platform application from 6.5 to 6.7, you need to increase the version of all artifacts from RELEASE65 to RELEASE67 and also in your nbm-application project, change the dependency from org.netbeans.cluster:platform9 to org.netbeans.cluster:platform10. The artifactId of the platform cluster has changed as the cluster version was increased. (Not sure what meaningful purpose the cluster numbering serves, but that's a different story)
org.netbeans.cluster
platform10
${netbeans.version}
pom
Please note that the current 3.0 version of the nbm-maven-plugin might have problems with NetBeans 6.7 . A new version of the plugin will appear shortly. [Less]
Posted
2 months
ago
by
mkleint
I've tried to play around with various setups of Maven projects in NetBeans, testing "Compile On Save" primarily. The traditional CoS in NetBeans will redeploy your webapp or quickly rerun the application (without recompiling the sources). I've
... [More]
tested a bit more IDE independent setup here, described in few simple steps, hopefully useful to someone.
0. Install the latest dev binaries of upcoming NetBeans 6.7 (future beta or existing M3 shall also do, no guarantees for 6.5). Also download the Javarebel application from zeroturnaround.com
1. First take the appframework archetype and create a sample project we will be playing around. In Netbeans 6.7 builds, the archetype shall be available in the New Maven project creation wizard in a privileged location.
2. Open the pom.xml file for the project and add a profile for JavaRebel there.
rebel
zt-repo
Zero turnaround repo
http://repos.zeroturnaround.com/maven2
org.zeroturnaround
javarebel-maven-plugin
1.0.2
generate-rebel-xml
process-resources
generate
org.apache.maven.plugins
maven-antrun-plugin
1.3
run
process-resources
run
Generated by maven build for javarebel in netbeans.
The configuration performs 2 tasks. It generates the rebel.xml file required by the Javarebel agent to find the output folders of the project in the resulting running application. Second, it generates a file in the output area of the project that tells NetBeans java support to copy the class files on saving.
3. Now you can Enable Configurations in the Project properties, activate the rebel profile there and for that profile/configuration, add additional VM options for running the application (the Run panel in project properties dialog)
For me it was:
-noverify -javaagent:/home/mkleint/javatools/javarebel/javarebel.jar
4. Build & Run the Application. If you've done things right, you should see in the output that the JavaRebel agent is running.If you open the application's AboutBox form and move stuff around, you should be able to see the changed propagated on Save in the IDE. Oups, You actually won't :) The showAboutBox() method the View class is caching the created about box, therefore the old layout persists. Once you remove the caching (even already in running application), you will see any changes in the AboutBox in the running application immediately.
5. Enjoy. [Less]
Posted
3 months
ago
by
mkleint
Whenever you have a Maven project inheriting from a parent POM, you should make sure the parent is accessible from the sources via the project/parent/relativePath element. The default value is "../pom.xml", the direct parent folder. The sources
... [More]
version will only be used if the coordinates match, of course. Eg. your project/parent /version element value needs to match the parent's version element.
If one of the conditions is not met, you end up resolving the parent POM from repositories defined in the current project. That might be the right thing in some cases, but sometimes it will prevent you from building the project separately (without having built all the parent beforehand) and also loading of the project in the IDE. In NetBeans, this is one of the reasons for the famed "Badly formed Maven project" error message. Even if it resolves properly from repositories, you might end up in with inconsistent data if some of your projects use the parent from local repository and some from sources.
A way to double check in NetBeans how your projects resolve is to show the "POM Inheritance" navigator view while having the pom.xml file focused in editor.
In this screenshot, I have opened the v3/common/glassfish-api/pom.xml file from the latest GlassFish svn checkout. The navigator view is in the left bottom area. It displays the project's POM inheritance, the current pom at the top, the direct parent below it and so on. Any parent marked with "(read only") is only resolvable from local and remote repositories. In this example, that might be fine for the ultimate root (pom - 3), but it's most likely wrong for any SNAPSHOT parents, like glassfish-parent.
PS: The NetBeans 6.7 Milestone 3 is out. Check it out. [Less]
Posted
4 months
ago
by
mkleint
I've added a few additions to the "Add Dependency" dialog in NetBeans 6.7 daily builds (and the upcoming Milestone 3 of 6.7)
First, the dependency's Version field includes all properties defined in the project that end with .version, eg.
... [More]
${spring.version} as suggested in the Maven Book, Chapter 8.3.
Second, I've created a new tab called "Open Projects" that lets the user pick from the list of currently opened projects and declare them as dependency of the current project.
Enjoy [Less]