To edit or add content to this Wiki, you can simply create a new account at http://wocommunity.org/account.
The wobootstrap plug-in is used to import the WebObjects libraries to the Maven's local repository or a remote repository for sharing with other developers and projects (for WebObjects version 5.3 and later, the license is now included as part of the Xcode software license. Please review the license in the Xcode installer to verify if you are not breaking the current terms).
This plug-in searches for the WebObjects jars and generates all the required information (groupId, artifactId and version) to import the libraries to the particular repository.
The wobootstrap goals usually need to be executed once per WebObjects version.
WebObjects 5.2 or later must be installed in order to use the wobootstrap plug-in. The supported platforms include MacOS X, Windows and Linux.
The wobootstrap plug-in has 2 goals:
In most cases, wobootstrap:install doesn't need any configuration. It also doesn't need a Maven project to run.
mvn wobootstrap:install
The wobootstrap:deploy Mojo is used to install the WebObjects libraries to a remote repository (i.e. managed by an Enterprise Repository Manager). The full usage statement of the wobootstrap:deploy mojo can be described as:
mvn wobootstrap:deploy -Durl=file://C:\m2-repo \ -DrepositoryId=some.id
If the url to deploy is not specified, the goal will fail. The repositoryId points to a server section in the settings.xml file. If you don't specify a repositoryId, Maven will try to extract authentication information using the default id 'remote-repository'.
Using the full identifier
There are two reasons for needing to specify the complete identifier of the wobootstrap plugin:
## ## Usage: <groupId>:<artifactId>[:<version>]:<goal> ## where goal is either install or deploy, for example. ## mvn org.objectstyle.woproject.maven2:maven-wobootstrap-plugin[:<version>]:<goal>
You can set 2 parameters to customize the mechanism used by this plug-in to locate WebObjects libraries:
These configurations are optional, but you have to provide both if you want to customize the search for WebObjects libraries.
mvn wobootstrap:install -DwebObjectsLibFolder=/a_path_to_webobjects/lib \ -DwebObjectsVersion=5.3.3
You can use these parameters with both goals: install and deploy.
Installing the right jars!
Do not link to or install the WebObjects jars located inside /System/Library/Frameworks
or /Library/Frameworks
. If you're installing an older version of WebObjects you must obtain the jars that the WebObjects installer had previously installed into /Library/WebObjects/lib
. For example, the jar /Library/WebObjects/lib/JavaWebObjects.jar
has the complete set of resources and files included for the dependency JavaWebObjects whereas /System/Library/Frameworks/JavaWebObjects.framework/Resources/Java/javawebobjects.jar
does not.
If the following error happens while using the wobootstrap:deploy goal: "Error deploying artifact: Unsupported Protocol: 'ftp': Cannot find wagon which supports the requested protocol: ftp"
See the solution here.
1 Comment
Marius Soutier
mvn wobootstrap:install fails with
[INFO] Error building POM (may not be this project's POM).
Project ID: null:maven-wobootstrap-plugin:maven-plugin:null
Reason: Cannot find parent: org.objectstyle.woproject.maven2:maven2 for project: null:maven-wobootstrap-plugin:maven-plugin:null for project null:maven-wobootstrap-plugin:maven-plugin:null
[INFO] Error building POM (may not be this project's POM).
Project ID: null:maven-wobootstrap-plugin:maven-plugin:null
Reason: Cannot find parent: org.objectstyle.woproject.maven2:maven2 for project: null:maven-wobootstrap-plugin:maven-plugin:null for project null:maven-wobootstrap-plugin:maven-plugin:null