누군가 다른 jar에 의존하는 애플릿이있는 jar 파일을 만드는 데 pom 파일을 어떻게 표시해야하는지 표시 할 수 있습니까? 하나의 jar 파일을 애플릿으로 사용할 수 있습니까?종속성이있는 애플릿을 배포하는 방법 jar를 사용하여 jar를 서명하고 서명 하시겠습니까?
11
A
답변
9
이것은 다른 (서명 된) jar에 종속 된 애플릿의 샘플 pom입니다. 애플릿 모듈의 코드는 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>
이 키 저장소 생성 (장소와 치어 파일이있는 위치를 실행)하는 샘플 쉘 스크립트입니다 : 당신이 당신의 서명 com.example.applet-있을 것이다
#!/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 패키지 후 0.1-SNAPSHOT.jar. 웹 응용 프로그램에 의존성 (com.example.other-0.4.jar)과 함께 배치하십시오.
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. 프로그래밍 방식으로 jarsigner로 서명 된 jar를 확인하는 방법
- 2. 종속성이있는 jar를 생성하는 사용자 지정 어셈블리 설명자
- 3. ojdbc14.jar를 사용하여 UnsatisifiedLinkError
- 4. 유닉스 박스에 Maven 빌드 jar를 배포하는 가장 우아한 방법
- 5. ANT 작업을 사용하여 서명 된 jar를 업데이트 할 수 있습니까?
- 6. Araxis Merge에서 JAR를 비교하는 방법?
- 7. maven을 사용하여 소스 jar를 얻는 방법
- 8. Eclipse에서 자체 MANIFEST.MF를 사용하여 jar를 빌드하는 방법
- 9. 애플릿을 배포하는 방법?
- 10. ikvm을 사용하여 jar를 dll로 변환
- 11. 자바 : .jar를 편집하고 다시 컴파일 하시겠습니까?
- 12. .Jar를 .Dmg로 변환합니다.
- 13. jar를 실행하는 스레드 종료
- 14. 프로젝트에서 사용하지 않은 jar를 찾으십시오.
- 15. 그냥 Maven을 사용하여 라이브러리 jar를 가져 오십시오.
- 16. rJava를 사용하여 타사 Java jar를 호출하는 좌절
- 17. Ant의 항아리에 클래스 패스 jar를 포함하는 방법
- 18. 다른 jar에 의존하는 하나의 jar를 사용하는 방법
- 19. Jboss에서 배포 된 jar를 얻는 방법
- 20. ejb-jar에 외부 jar를 포함하는 방법
- 21. 웹 스타트에서 Runnable Jar를 실행하십시오.
- 22. jar를 실행할 maven 단계가 있습니까?
- 23. mvn dependency plugin에 jar를 설치해야합니까?
- 24. Ant를 사용하여 외부 jar 파일로 jar를 생성하는 방법
- 25. Tomcat : 새로운 jar를 최신 버전으로 배포
- 26. DLL을 포함하는 Jar를 만드는 방법은 무엇입니까?
- 27. tomcat jar를 얻으려면 어떤 Maven 저장소를 사용해야합니까?
- 28. Tomcat은 하나의 jar를 배포 취소하지 않습니다.
- 29. Netbeans에서 외부 jar를 찾을 수 없습니다.
- 30. 그래서 런타임시 jar를 동적으로로드합니다. 어떻게 사용합니까?
maven-shade-plugin은 클래스 경로에서 사용할 수있는 모든 종속성을 가진 단일 실행 가능한 JAR을 생성하기위한 옵션입니다. 가장 큰 차이점은 음영 플러그인은 모든 종속성과 임베디드 JAR과는 반대로 내장 된 .class 파일을 포함한다는 것입니다. –
2.2-beta-5보다 큰 모든 메이븐 어셈블리 플러그인 버전이 충돌합니다. –