Maven"

From Documentation
Line 20: Line 20:
  
 
=Dependencies=
 
=Dependencies=
==ZK Spreadsheet==
+
==ZK Spreadsheet OSE==
 
<source lang="xml">
 
<source lang="xml">
 
<dependency>
 
<dependency>

Revision as of 09:29, 2 August 2013



If your project is managed by Maven already, you can adopt easily by simply adding a dependency[1]

<dependency>
	<groupId>org.zkoss.zss</groupId>
	<artifactId>zss</artifactId>
	<version>2.5.0</version>
</dependency>

  1. If you didn't setup zk maven repository yet, you have to setup zk maven repository too.

Dependencies

ZK Spreadsheet OSE

<dependency>
	<groupId>org.zkoss.poi</groupId>
	<artifactId>zpoi</artifactId>
	<version>3.8.1</version>
</dependency>
<dependency>
	<groupId>org.zkoss.zss</groupId>
	<artifactId>zss</artifactId>
	<version>2.5.0</version>
</dependency>

ZK Spreadsheet EE

<dependency>
	<groupId>org.zkoss.poi</groupId>
	<artifactId>zpoiex</artifactId>
	<version>3.8.1</version>
</dependency>
<dependency>
	<groupId>org.zkoss.zss</groupId>
	<artifactId>zssex</artifactId>
	<version>2.5.0</version>
</dependency>
<!-- Export to PDF -->
<dependency>
	<groupId>org.zkoss.zss</groupId>
	<artifactId>zsspdf</artifactId>
	<version>2.5.0</version>
</dependency>
<!-- Export to HTML -->
<dependency>
	<groupId>org.zkoss.zss</groupId>
	<artifactId>zsshtml</artifactId>
	<version>2.5.0</version>
</dependency>
<!-- ZK Spreadsheet JSP Tag -->
<dependency>
	<groupId>org.zkoss.zss</groupId>
	<artifactId>zssjsp</artifactId>
	<version>2.5.0</version>
</dependency>
<!-- ZK Spreadsheet As JSF Component -->
<dependency>
	<groupId>org.zkoss.zss</groupId>
	<artifactId>zssjsf</artifactId>
	<version>2.5.0</version>
</dependency>

Repository

Evaluating users (ZK Spreadsheet EE-eval)

For evaluation

 <repositories>
    <repository>
      <id>ZK Spreadsheet EE Evaluation</id>
      <url>http://mavensync.zkoss.org/eval/</url>
    </repository>
  </repositories>

Sample of pom.xml for evaluation

Here is sample pom.xml for a simple Java project that uses the ZK Spreadsheet.

<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>sample</groupId>
	<artifactId>zss.maven</artifactId>
	<properties>
		<zpoi.version>3.8.1</zpoi.version>
		<zss.version>2.5.0</zss.version>
		<zk.version>6.5.0</zk.version>
	</properties>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>eval Maven Webapp</name>
	<url>http://maven.apache.org</url>
	<repositories>
		<repository>
			<id>ZSS eval</id>
			<url>http://mavensync.zkoss.org/eval/</url>
		</repository>
	</repositories>
	<dependencies>
		<!-- ZSS -->
		<dependency>
			<groupId>org.zkoss.poi</groupId>
			<artifactId>zpoi</artifactId>
			<version>${zpoi.version}</version>
		</dependency>
		<dependency>
			<groupId>org.zkoss.poi</groupId>
			<artifactId>zpoiex</artifactId>
			<version>${zpoi.version}</version>
		</dependency>
		<dependency>
			<groupId>org.zkoss.zss</groupId>
			<artifactId>zss</artifactId>
			<version>${zss.version}</version>
		</dependency>
		<dependency>
			<groupId>org.zkoss.zss</groupId>
			<artifactId>zssex</artifactId>
			<version>${zss.version}</version>
		</dependency>
		<dependency>
			<groupId>org.zkoss.zss</groupId>
			<artifactId>zsspdf</artifactId>
			<version>${zss.version}</version>
		</dependency>
		<dependency>
			<groupId>org.zkoss.zss</groupId>
			<artifactId>zsshtml</artifactId>
			<version>${zss.version}</version>
		</dependency>		
		<dependency>
			<groupId>org.zkoss.zss</groupId>
			<artifactId>zssjsp</artifactId>
			<version>${zss.version}</version>
		</dependency>
		<dependency>
			<groupId>org.zkoss.zss</groupId>
			<artifactId>zssjsf</artifactId>
			<version>${zss.version}</version>
		</dependency>
		<!-- ZK -->
		<dependency>
			<groupId>org.zkoss.zk</groupId>
			<artifactId>zul</artifactId>
			<version>${zk.version}</version>
		</dependency>
		<dependency>
			<groupId>org.zkoss.zk</groupId>
			<artifactId>zkex</artifactId>
			<version>${zk.version}</version>
		</dependency>
	</dependencies>
</project>

Premium users only

<repositories>
	<repository>
		<id>ZK EE Repository</id>
		<url>https://maven.zkoss.org/repo/zk/ee</url>
	</repository>
</repositories>

Login authentication

Please refer to the official documentation of Apache Maven project for storing login authentication credential in the global settings file.

  • Location (if not already existed, you can create it manually)
    • Maven installation root: $M2_HOME/conf/settings.xml - OR -
    • User's Maven root: ${user.home}/.m2/settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
		http://maven.apache.org/xsd/settings-1.0.0.xsd">
	<servers>
		<server>
			<id>ZK EE Repository</id><!-- Same as the repository name used in your pom.xml -->
			<!-- Please replace the following with your premium username and password -->
			<username>premium</username>
			<password>2k0553cr3t</password>
		</server>
	</servers>
</settings>

Sample of pom.xml for licensed ZK Spreadsheet EE Package

<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>zss</groupId>
	<artifactId>sample</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<properties>
		<zk.version>6.5.2</zk.version>
		<zkpoi.version>3.8.1</zkpoi.version>
		<zss.version>2.5.0</zss.version>
	</properties>
	<packaging>war</packaging>
	<name>The sample Project</name>
	<repositories>
		<repository>
			<id>ZK CE</id>
			<name>ZK CE Repository</name>
			<url>http://mavensync.zkoss.org/maven2</url>
		</repository>
		<repository>
			<id>ZK EE</id>
			<url>https://maven.zkoss.org/repo/zk/ee</url>
		</repository>
	</repositories>
	<dependencies>
		<!-- ZK Spreadsheet OSE -->
		<dependency>
			<groupId>org.zkoss.poi</groupId>
			<artifactId>zpoi</artifactId>
			<version>${zkpoi.version}</version>
		</dependency>
		<dependency>
			<groupId>org.zkoss.zss</groupId>
			<artifactId>zss</artifactId>
			<version>${zss.version}</version>
		</dependency>
		<!-- ZK Spreadsheet EE -->
		<dependency>
			<groupId>org.zkoss.poi</groupId>
			<artifactId>zpoiex</artifactId>
			<version>${zkpoi.version}</version>
		</dependency>
		<dependency>
			<groupId>org.zkoss.zss</groupId>
			<artifactId>zssex</artifactId>
			<version>${zss.version}</version>
		</dependency>
		<!-- Export to PDF -->
		<dependency>
			<groupId>org.zkoss.zss</groupId>
			<artifactId>zsspdf</artifactId>
			<version>${zss.version}</version>
		</dependency>
		<!-- Export to HTML -->
		<dependency>
			<groupId>org.zkoss.zss</groupId>
			<artifactId>zsshtml</artifactId>
			<version>${zss.version}</version>
		</dependency>
		<!-- ZK Spreadsheet As JSF Component -->
		<dependency>
			<groupId>org.zkoss.zss</groupId>
			<artifactId>zssjsf</artifactId>
			<version>${zss.version}</version>
		</dependency>
		<!-- ZK Spreadsheet JSP Tag -->
		<dependency>
			<groupId>org.zkoss.zss</groupId>
			<artifactId>zssjsp</artifactId>
			<version>${zss.version}</version>
		</dependency>
		
		<!-- ZK -->
        <dependency>
            <groupId>org.zkoss.zk</groupId>
            <artifactId>zul</artifactId>
            <version>${zk.version}</version>
        </dependency>
        <dependency>
            <groupId>org.zkoss.zk</groupId>
            <artifactId>zkex</artifactId>
            <version>${zk.version}</version>
        </dependency>
	</dependencies>
</project>

Troubleshooting

If you have problem switching from the evaluation repository to the licensed one, please check the followings:

Purge local repository evaluation cache
  • 1. Add purge-local-repository plugin in pom.xml
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>2.6</version>
				<executions>
					<execution>
						<id>purge-local-dependencies</id>
						<phase>clean</phase>
						<goals>
							<goal>purge-local-repository</goal>
						</goals>
						<configuration>
							<manualIncludes>
								<manualInclude>org.zkoss.zk:zkex</manualInclude>
								<manualInclude>org.zkoss.poi:zpoiex</manualInclude>
								<manualInclude>org.zkoss.zss:zssex</manualInclude>
								<manualInclude>org.zkoss.zss:zsshtml</manualInclude>
								<manualInclude>org.zkoss.zss:zssjsf</manualInclude>
								<manualInclude>org.zkoss.zss:zssjsp</manualInclude>
								<manualInclude>org.zkoss.zss:zsspdf</manualInclude>
							</manualIncludes>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
  • 2. Invoke maven clean to delete local repository evaluation cache
mvn clean
Self-signed Certificate

If you were a customer having a premium account and your Maven reported the following error message:

sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Please contact [email protected] to request a certificate file and import the certificate using keytool:

keytool –import –noprompt –trustcacerts –alias ALIASNAME -file FILENAME_OF_THE_INSTALLED_CERTIFICATE -keystore PATH_TO_CACERTS_FILE -storepass PASSWORD

Note: The initial password of the "cacerts" keystore file is "changeit". Please refer to here for detail.

Example:

keytool -import -noprompt -trustcacerts -alias ZKOSS_root_CA -file C:\maven_test\ZKOSS_root_CA.crt -keystore "C:\Program Files\Java\jdk1.6.0_18\jre\lib\security\cacerts" -storepass changeit


All source code listed in this book is at Github.


Last Update : 2013/08/02

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.