有人可以告诉我如何pom文件应该看起来像创建一个jar文件与小程序,这取决于其他一些罐子是否有可能有一个jar作为小程序,以及如何签署它?如何使用maven部署Applet与依赖项jar并签名?
11
A
回答
9
这是小程序的示例pom,它依赖于其他(签名)的jar。你的applet模块的代码将打包成jar并使用测试密钥进行签名。
<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">
<parent>
<artifactId>parent</artifactId>
<groupId>com.example</groupId>
<version>0.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>applet</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>com.example.applet</name>
<build>
<finalName>${artifactId}-${version}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>sign</goal>
</goals>
<phase>package</phase>
<configuration>
<keystore>src/main/keystore/signing-jar.keystore</keystore>
<alias>applet</alias>
<storepass>applet</storepass>
<keypass>applet</keypass>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>other</artifactId>
<version>0.4</version>
</dependency>
</dependencies>
</project>
这是样品shell脚本创建密钥存储区(地方和运行在您的POM文件所在的位置):
#!/bin/sh
KEYSTORE=src/main/keystore/signing-jar.keystore
keytool -genkey -alias applet -keystore $KEYSTORE -storepass applet -keypass applet -dname "CN=developer, OU=group 3, O=com.example, L=Somewhere, ST=Germany, C=DE"
keytool -selfcert -alias applet -keystore $KEYSTORE -storepass applet -keypass applet
MVN包后,你将有你的签字com.example.applet- 0.1-SNAPSHOT.jar。将它与您的依赖关系(com.example.other-0.4.jar)放在您的Web应用程序中。
10
如果你想你的类和的依赖出现在一个jar文件,你应该使用的assembly plugin或jarsigner前one-jar plugin。我使用程序集插件进行以下工作设置,它将生成正常(签名)的jar和$ {artifactId} - $ {version} -jar-with-dependencies.jar(也已签名)。
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-5</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<index>true</index>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-my-applet-jar</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<id>sign</id>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
<configuration>
<keystore>keystore</keystore>
<alias>keyalias</alias>
<storepass>storepass</storepass>
<keypass>keypass</keypass>
</configuration>
</plugin>
相关问题
- 1. 使用maven签署依赖关系
- 2. 依赖例外部署Maven项目
- 3. 使用带签名的jar部署Java Applet
- 4. 如何找到签名的maven依赖jar文件?
- 5. 从jar中排除未使用的依赖项部分(Maven)
- 6. JAR依赖于maven
- 7. JAR依赖Maven的
- 8. 使用maven,如何在包中包含jar依赖项?
- 9. 如何签署Applet的Jar文件?
- 10. 如何使用外部Jar依赖项导出Eclipse项目?
- 11. 部署Maven jar文件和SNAPSHOT依赖关系
- 12. maven依赖项或jar for oracle.forms.handler.IHandler?
- 13. Maven:为依赖项创建多个jar
- 14. Maven - 从Jar中删除依赖项
- 15. 有maven下载jar作为依赖项
- 16. Maven生成jar依赖项然后战
- 17. 如何使用构建路径使用的依赖项创建Maven项目jar?
- 18. 多模块maven项目未部署可执行文件的依赖模块Jar
- 19. 如何将本地jar添加为maven项目的依赖项?
- 20. 如何在pom.xml中下载并重命名依赖项jar
- 21. maven-jar-plugin与maven-jar的依赖关系
- 22. Maven依赖关系,Tomcat7和部署
- 23. Maven部署和依赖版本
- 24. 部署android ndk依赖到maven仓库
- 25. maven依赖和码头 - 避免部署
- 26. Java Maven Jar依赖关系
- 27. Maven如何使用定义为战争项目依赖项的jar项目的依赖关系
- 28. 将具有本地依赖项的Maven项目部署到WildFly
- 29. Netbeans Maven项目 - 部署包括依赖项
- 30. 如何在ant maven任务中使用外部lib /依赖项?
maven-shade-plugin也是一个选项,用于生成一个具有类路径中所有可用依赖项的单个可执行JAR。主要区别在于阴影插件包含所有依赖项和嵌入的.class文件,而不是嵌入式JAR。 – 2010-12-02 19:23:10
任何大于2.2-beta-5的maven-assembly-plugin版本都会崩溃。 – 2014-04-18 12:43:48