2014-10-06 17 views
2

Webstart를 사용하는이 다중 모듈 프로젝트 설정을 가지고 있으며 WAR에 SNAPSHOT JAR을 번들해야합니다. JAR 파일이 WAR에 번들되면 실제 이름 대신 타임 스탬프가 추가됩니다. 이로 인해 다운로드하는 동안 문제가 발생합니다.WAR 번들 타임 스탬프가있는 SNAPSHOT JAR

Expected - ABC-1.0-SNAPSHOT.jar 
Actual - ABC-1.0-20141002.211448-2.jar 

봉투 :

OS : 유닉스 메이븐 : 3.2.1 JDK 1.7

가 이미 시도 useUniqueVersions = 거짓 받는다는 전쟁 - 플러그인을 정의하고이 설정하여 매니페스트 구성에서.

내 Webstart를의 설정 :

<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>webstart-maven-plugin</artifactId> 
<version>1.0-beta-6</version> 
<executions> 
    <execution> 
     <phase>process-resources</phase> 
     <goals> 
      <goal>jnlp-download-servlet</goal> 
     </goals> 
    </execution> 
</executions> 
<configuration> 
    <outputDirectoryName>.</outputDirectoryName> 
    <excludeTransitive>true</excludeTransitive> 
    <commonJarResources> 
     <jarResource> 
      ... 
     </jarResource> 
    </commonJarResources> 
    <jnlpFiles> 
     <jnlpFile> 
      <templateFilename>JNLP-INF/APPLICATION_TEMPLATE.JNLP</templateFilename> 
      <outputFilename>client.jnlp</outputFilename> 
      <jarResources> 
       <jarResource> 
        ... 
       </jarResource> 
      </jarResources> 
     </jnlpFile> 
    </jnlpFiles> 
    <sign> 
     ... 
    </sign> 
    <outputJarVersions>false</outputJarVersions> 
</configuration> 

어떤 입력을 주셔서 감사합니다. 전쟁 플러그인에 대한

UPDATE 추가 세부 사항은 나는 동작이 계속

  <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.4</version> 
     </plugin> 

을 추가했다. 나는 Maven 3이 독특한 스냅 샷 시스템을 사용한다고 읽었습니다. 그러나 나는 그 주위를 돌아 다니려고 노력하고있다.

는 또한 받는다는-Webstart를-플러그인의 제작자 실수로 플래그 useUniqueVersions의 의미를 반전 한 운

  <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.4</version> 
      <configuration> 
       <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}</outputFileNameMapping> 
      </configuration> 
     </plugin> 
+0

음 ... 당신은 maven-war-plugin을 작성하는 것이 문제지만 webstart-maven-plugin의 구성을 표시합니까? war 파일을 생성하는 pom 파일 전체를 표시 할 수 있습니까? 또한 어떤 버전의 Maven-war-Plugin을 사용합니까? – khmarbaise

+0

내 pom에 maven war 플러그인에 대한 특정 정의가 없습니다. 패키징을 WAR로 정의했으며, maven은 최신 버전의 WAR 플러그인을 사용해야합니다. – Srini

+0

[최신 내용은 아닙니다] (http://maven.apache.org/ref/3.2.1/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging). ** 최신 버전이 아닌 ** 2.2 버전입니다. 또한 플러그인의 버전을 항상 고정해야합니다. 따라서 특정 버전의 Maven-war-Plugin 버전 2.4에서이 동작을 확인하십시오. – khmarbaise

답변

0

하지 않고 다음을 시도했다. true로 설정하면 -SNAPSHOT.jar 형식의 jar 파일이 생성되고 false (기본값)로 설정하면 jar 형식의 jar 파일이 생성됩니다. jar

maven pom에서 useUniqueVersions 플래그를 true로 설정하면 구성이 원하는 결과를 만들어 냈습니다.

스냅 샷을 배포하려고 할 때 스냅 샷의 datestamp 버전을 배포 할 때 스냅 샷 항아리를 가져 오려고 할 때 "자원을 찾을 수 없습니다"라는 오류가 발생했기 때문에 이렇게해야했습니다. 아마도 이것은 특정 날짜 스탬프 버전 번호가 jnlp 자체에서 끝나더라도 서블릿 코드 자체가 디스크의 다른 이름 지정을 처리하도록 설정되지 않았 음을 의미합니다.