有人可以告訴我如何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