Tag Archives: maven

AppFuse and NetBeans: part 2

Some more tips about getting an AppFuse generated application into NetBeans.

  1. Pick archetype of choice, e.g.: mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-spring -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject
  2. Run mvn
  3. Generate full sources: mvn appfuse:full-source
  4. Install the Maven plugin in NetBeans (Tools / Plugins / Search for Maven).
  5. Open the project (located the pom.xml file)
  6. Right-click the project name and select Properties
  7. In categories, select Run. Chose a server.
  8. In categories, select Actions. Check the box for Use external Maven for build execution.
  9. In main window, select Tools / Options / Miscellaneous / Maven 2.
  10. Now Run the project, and after a while a browser should open pointing you to the login screen.

Manually run AppFuse WebTests

Sometime it may be useful to manually run the (Canoo) web tests for AppFuse applications to be able to see what goes wrong. Accomplish this by making the test web container pause upon start using:

mvn -Dcargo.wait

Then the application (using default values) is reachable at:

http://localhost:8081/<app_name>/

Where <app_name> might be something like appname-1.0-SNAPSHOT depending on your configuration.

If a test fails it might also be a good idea to take a look at how the pages retrieved actually look like, they are saved (by default) in the directory target\webtest-data.

AppFuse and NetBeans

Opening an AppFuse in NetBeans might be done in two ways, two ways that I managed to mix up the first time…

Either install the Maven plugin Mevenide2 for NetBeans, then you may simply open the Maven project generated by AppFuse directly. Without the Maven plugin, then you need to convert to project using mvn netbeans:netbeans (see previous post). Opening up a converted project with the NetBeans Maven plugin installed will result in badness.

Wondering where the source is? See this post.

Generate full-source with AppFuse

In AppFuse 2.x you don’t automatically get the full source of the generated project. To generate the source, run:

mvn appfuse:full-source

On my Ubuntubox this all went well, but on my work laptop running Windows XP it failed with the fatal error:

Illegal character in path at index 18: file:/C:/Documents and Settings/myuser/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar

Turned out to be because of the spaces in the path, a not so uncommon problem for *nix stuff running under Windows.

To solve this you may either move your maven artifact repository to a path without a space, or edit the maven settings.xml so the path no longer includes a space. This is achieved by using DOS short names. To see what a files short name is, open the command prompt and run dir /X.

The settings.xml is likely located in the conf directory where you installed Apache Maven, in my case it was:

C:\Program Files\Apache Software Foundation\apache-maven-2.0.9\conf\settings.xml

I added an entry (if there is already one, edit it) for localRepository:

<localRepository>C:\DOCUME~1\myuser\.m2\repository</localRepository>

Now everything worked and I got BUILD SUCCESSFUL. Please note that the actual path is likely different on your setup. Change it as appropriate.

AppFuse: Generate NetBeans project files

Using mvn netbeans:netbeans to generate a NetBeans project from AppFuse failed with the following build error:

The plugin ‘org.apache.maven.plugins:maven-netbeans-plugin’ does not exist or no valid version could be found

Apprently it cannot find the netbeans plugin. To fix this, open the pom.xml of the project and add a new plugin repository:

    <pluginRepositories>

        ... keep the existing one ...

        <pluginRepository>
          <id>agilejava</id>
          <name>Agilejava</name>
          <url>http://agilejava.com/maven/</url>
        </pluginRepository>
    </pluginRepositories>

That’s it.