Maven
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>
- ↑ If you didn't setup zk maven repository yet, you have to setup zk maven repository too.
Dependencies
ZK Spreadsheet
<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
- http://mavensync.zkoss.org/eval/
- Sample Config
<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
- Notice: Need Login authentication
<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:
- 1 Remove evaluation repository, use ZK EE repository instead
- 2. Login authentication
- 3. Delete maven local repository evaluation cache
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.