Creating ZK Component with Maven Archetype"
From Documentation
Jimmyshiau (talk | contribs) |
|||
Line 14: | Line 14: | ||
*Click '''Verify...''' and then '''OK''' to add the catalog. | *Click '''Verify...''' and then '''OK''' to add the catalog. | ||
**Remote catalog is <font color="red">empty</font>.<ref> | **Remote catalog is <font color="red">empty</font>.<ref> | ||
− | If | + | If an error message appears stating that the Remote catalog is empty, this is most likely due to a bug in the m2eclipse plugin in v0.12.x, [https://issues.sonatype.org/browse/MNGECLIPSE-2757 MNGECLIPSE-2757]. |
− | Until m2eclipse 0.13.x or newer are released, there are two possible workarounds: | + | Until m2eclipse 0.13.x or newer versions are released, there are two possible workarounds: |
− | #Install the "''Older version''" 0.10.x from the [http://m2eclipse.sonatype.org/installing-m2eclipse.html Installing m2eclipse] website. | + | #Install the "''Older version''" 0.10.x from the [http://m2eclipse.sonatype.org/installing-m2eclipse.html Installing m2eclipse] website. Users will first need to uninstall m2eclipse 0.12.x, restart and then install 0.10.x from the following site: |
#: http://m2eclipse.sonatype.org/sites/m2e/0.10.2.20100623-1649/ | #: http://m2eclipse.sonatype.org/sites/m2e/0.10.2.20100623-1649/ | ||
− | #Create the plugin from the archetype using the Maven command line tool mvn, then use | + | #Create the plugin from the archetype using the Maven command line tool mvn, then use import existing maven project to add the generated project to Eclipse. For more details, please refer to [[#Use_the_command_line_version_of_Maven_for_creating_the_project | Use the command line version of Maven for creating the project]]. |
</ref> | </ref> | ||
*Click '''OK''' in the "Preferences" dialogue. | *Click '''OK''' in the "Preferences" dialogue. | ||
Line 26: | Line 26: | ||
*Next, fill in details for ''group id, artifact id, version'' number and ''package'' name. | *Next, fill in details for ''group id, artifact id, version'' number and ''package'' name. | ||
*:[[File:ZKComDevEss_Maven_CreateComponent_setp5.png]] | *:[[File:ZKComDevEss_Maven_CreateComponent_setp5.png]] | ||
− | ** | + | **If property ''zk-version-since'' is <font color="red">missing</font>.<ref> |
− | + | Users who are running this wizard for the first time, zk archetype would not have been downloaded in m2eclipse yet, and as a result may not populate the property ''zk-version-since'' correctly, leading to an error message as such: | |
− | * Unable to create project from archetype [org.zkoss:zk-archetype-component:0.8.0 -> http://mavensync.zkoss.org/maven2/], Archetype org.zkoss:zk-archetype-component:0.8.0 is not configured | + | * Unable to create project from archetype [org.zkoss:zk-archetype-component:0.8.0 -> http://mavensync.zkoss.org/maven2/], Archetype org.zkoss:zk-archetype-component:0.8.0 is not configured property ''zk-version-since'' is missing. |
− | The simple workaround is to just try again | + | The simple workaround for this problem is to just try again and the zk-version-since property should appear in the list. |
</ref> | </ref> | ||
− | *Click '''Finish''' and the Eclipse status bar should say ' ''Creating zk-archetype-component'' ' and ' ''Updating Maven Dependencies'' '. If this is the first time | + | *Click '''Finish''' and the Eclipse status bar should say ' ''Creating zk-archetype-component'' ' and ' ''Updating Maven Dependencies'' '. If this is the user's first time dealing with ZK libraries, Maven will download the necessary dependencies to compile and run this example, and would be stored in ''.m2/repository'' in your home directory. |
*:[[File:ZKComDevEss_Maven_CreateComponent_setp6.png]] | *:[[File:ZKComDevEss_Maven_CreateComponent_setp6.png]] | ||
---- | ---- |
Revision as of 08:38, 29 July 2011
How to create a ZK Component Maven project
Create Project of Maven
- [File] -> [New] -> [Other] --> [Maven Project]
- Make sure Create a simple project is not ticked in the first screen of the New Maven Project wizard and click Next >.
- From the Select an Archetype screen, we'll need to add the ZK archetype catalog. Click Configure....
- From the Maven archetypes catalogs setting, click Add Remote Catalog... and add the catalog file:
http://mavensync.zkoss.org/maven2/
- Click Verify... and then OK to add the catalog.
- Remote catalog is empty.[1]
- Click OK in the "Preferences" dialogue.
- Now you should be able to find zk in the Catalog dropdown list.
- Select the zk-archetype-component from the list. (At time of writing this is at version 0.8.0).
- Next, fill in details for group id, artifact id, version number and package name.
- If property zk-version-since is missing.[2]
- Click Finish and the Eclipse status bar should say ' Creating zk-archetype-component ' and ' Updating Maven Dependencies '. If this is the user's first time dealing with ZK libraries, Maven will download the necessary dependencies to compile and run this example, and would be stored in .m2/repository in your home directory.
- ↑
If an error message appears stating that the Remote catalog is empty, this is most likely due to a bug in the m2eclipse plugin in v0.12.x, MNGECLIPSE-2757.
Until m2eclipse 0.13.x or newer versions are released, there are two possible workarounds:
- Install the "Older version" 0.10.x from the Installing m2eclipse website. Users will first need to uninstall m2eclipse 0.12.x, restart and then install 0.10.x from the following site:
- Create the plugin from the archetype using the Maven command line tool mvn, then use import existing maven project to add the generated project to Eclipse. For more details, please refer to Use the command line version of Maven for creating the project.
- ↑
Users who are running this wizard for the first time, zk archetype would not have been downloaded in m2eclipse yet, and as a result may not populate the property zk-version-since correctly, leading to an error message as such:
- Unable to create project from archetype [org.zkoss:zk-archetype-component:0.8.0 -> http://mavensync.zkoss.org/maven2/], Archetype org.zkoss:zk-archetype-component:0.8.0 is not configured property zk-version-since is missing.
How to run Maven project on Run-Jetty-Run
- Goto Run Configurations
- Double click on Jetty Webapp
- It will auto fill Project / Port / Context / WebApp Dir
- Click Run and browse http://127.0.0.1:8080/mycomps/
Packing your component
- Goto Run As > Maven package
- Your project will be pack into a war file and a zip file with source code.
Use the command line version of Maven for creating the project
- Here describes how to set up Maven.
- Go to the folder for your Eclipse workspace, then run this command.
- Calling archetype:generate -DarchetypeCatalog=http://mavensync.zkoss.org/maven2/ the plugin will first ask to choose the archetype from the zk catalog. Just enter the number of the archetype.
- It then asks you to enter the values for the groupId, the artifactId and the version of the project to create and the base package for the sources.
- It then asks for confirmation of the configuration and performs the creation of the project.
- In the following example, we selected the component archetype (numbered 1) and set groupId to org.test, artifactId to mycomps, version to 1.0-SNAPSHOT and package to org.test.mycomps.
$ mvn archetype:generate -DarchetypeCatalog=http://mavensync.zkoss.org/maven2/
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:generate] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] [archetype:generate {execution: default-cli}]
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: http://mavensync.zkoss.org/maven2/ -> zk-archetype-component (zk-archetype-component)
2: http://mavensync.zkoss.org/maven2/ -> zk-archetype-webapp (zk-archetype-webapp)
Choose a number: : 1
Downloading: http://mavensync.zkoss.org/maven2//org/zkoss/zk-archetype-component/0.8.0/zk-archetype-component-0.8.0.jar
20K downloaded (zk-archetype-component-0.8.0.jar)
Downloading: http://mavensync.zkoss.org/maven2//org/zkoss/zk-archetype-component/0.8.0/zk-archetype-component-0.8.0.pom
1K downloaded (zk-archetype-component-0.8.0.pom)
Define value for property 'groupId': : org.test
Define value for property 'artifactId': : mycomps
Define value for property 'version': 1.0-SNAPSHOT:
Define value for property 'package': org.test: org.test.mycomps
Define value for property 'component-class': : Mylabel
Define value for property 'component-name': : mylabel
[INFO] Using property: zk-version-since = 5.0.6
Confirm properties configuration:
groupId: org.test
artifactId: mycomps
version: 1.0-SNAPSHOT
package: org.test.mycomps
component-class: Mylabel
component-name: mylabel
zk-version-since: 5.0.6
Y:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 34 seconds
[INFO] Finished at: Thu Jul 28 16:27:55 CST 2011
[INFO] Final Memory: 13M/150M
[INFO] ------------------------------------------------------------------------