/
maven TroubleShooting

maven TroubleShooting

Nexus integration

nexus deploy 시 400 Error

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.114s
[INFO] Finished at: Wed May 15 15:12:19 KST 2013
[INFO] Final Memory: 7M/238M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project deploy-test: Failed to deploy artifacts: Could not transfer artifact org.example.app:deploy-test:jar:1.1 from/to tech.release (https://nexus.ktnet.com/content/repositories/com.company/): Failed to transfer file: https://nexus.company.com/content/repositories/com.ktnet/org/example/app/deploy-test/1.1/deploy-test-1.1.jar. Return code is: 400, ReasonPhrase:Bad Request. -> [Help 1]

원인: Release repository 일 경우 같은 version 이 이미 deploy 되어 있음

해결방안: version up

401 Aurhotized Error

원인

repository 에 권한 없음.

해결

${HOME}/.m2/settings.xml 에 암호 설정

 

nexus repository 에 해당 버전이 있는데 library 가 없다고 에러 발생

원인

  • maven 의 release updatePolicy 는 default가 daily 임 (http://maven.apache.org/ref/3.1.0/maven-settings/settings.html)
  • 해당 artifact를 nexus 에 deploy 하기전에 maven 을 실행했다면 local cache 에는 해당 artifact가 없고 caching을 위한 .lastUpdated 파일만 존재함
  • 따라서 다음 update 시간인 내일이 되기전가지는 artifact 가 없어서 빌드가 실패함
Error Message

"[ERROR] Failed to execute goal on project etsCoreServer: Could not resolve dependencies for project com.company.ets:etsCoreServer:war:10: Failure to find com.company.ets:ets-common:jar:0.91.08 inhttps://nexus.company.com/content/groups/public was cached in the local repository, resolution will not be reattempted until the update interval of Company-central has elapsed or updates are forced -> [Help 1]"

해결

1 .m2 의 cache 를 삭제

maven의 cache 폴더인 $HOME/.m2/repository 의 $artifact-$version 폴더를 삭제하고 maven 재구동 (Ex: rm -rf ~/.m2/repository/com/company/ets/ets-common/0.91.08)

2 .maven 실행시 --update-snapshots 를 주어서 실행

Forces a check for updated releases and snapshots on remote repositories

3 .updatePolicy 수정

아래의 snapshot repository의 updatepolicy 를 참고하여 always 나 interval:xxx 로 수정

Snapshots 으로 deploy중인데 Nexus Repository 에서 최근 snapshot을 못 가져옴

원인

snapshot repository의 기본 updatePolicy 가 daily 임

해결

${HOME}/.m2/settings.xml 에 다음 내용 추가 - http://maven.apache.org/settings.html#Repositories

  • updatePolicy: This element specifies how often updates should attempt to occur. Maven will compare the local POM's timestamp (stored in a repository's maven-metadata file) to the remote. The choices are: always, daily (default), interval:X (where X is an integer in minutes) or never.
<profiles>
    <profile>
      ...
      <repositories>       
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
            <checksumPolicy>fail</checksumPolicy>
          </snapshots>
          <url>http://snapshots.maven.codehaus.org/maven2</url>
          <layout>default</layout>
        </repository>
      </repositories>
      ...
    </profile>
  </profiles>

 

기타 

Configure Source file Encoding

증상

When I run maven install on my multi module maven project I always get the following output:

[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!code
처리

pom.xml 에 다음 내용 추가

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>

See also http://maven.apache.org/general.html#encoding-warning

“Updating Maven Project”. Unsupported IClasspathEntry kind=4?

증상

maven project import 시 위 메시지가 나오며 정상적으로 import가 안 됨.

처리

m2e bug 이며 다음 순서로 처리

  1. m2e 업데이트 (http://eclipse.org/m2e/download/ 참고)
  2. maven nature Diable(프로젝트 메뉴에서 우클릭)
     

  3. run mvn eclipse:clean (while your project is open in STS/eclipse)
  4. 'Configure'-> 'Convert to Maven Project')
     

See Also: http://stackoverflow.com/questions/10564684/how-to-fix-error-updating-maven-project-unsupported-iclasspathentry-kind-4

 

“webxml attribute is required” error in Maven Error

증상

Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on project my-project: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]

처리

maven-war-plugin 에 web.xml 의 경로를 지정

<plugin>            
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <configuration>
    <webXml>src\main\webapp\WEB-INF\web.xml</webXml>        
  </configuration>
</plugin>

 

 archetype:generate 실행 에러 - The goal you specified requires a project to execute but there is no POM in this directory.

증상

The goal you specified requires a project to execute but there is no POM in this directory.please verify you invoked Maven from the correct directory.

처리

Windows 의 cmd 에서 바로 실행시 파라미터를 제대로 처리하지 못 해서 발생하며 다음과 같이 처리

1.Batch 파일에서 실행
2.파라미터를 " 로 둘러 싸서 실행

Before

mvn archetype:generate -B -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp  -DgroupId=com.example -DartifactId=dogstore -Dversion=1.0-SNAPSHOT

After

mvn archetype:generate -B "-DarchetypeGroupId=org.apache.maven.archetypes" "-DarchetypeArtifactId=maven-archetype-webapp" "-DgroupId=com.example" "-DartifactId=dogstore" "-Dversion=1.0-SNAPSHOT"

 

 

Ref

Related content

tomcat 세션 클러스터링 설정
tomcat 세션 클러스터링 설정
More like this
Maven Javadoc Plugin
Maven Javadoc Plugin
More like this
IntelliJ grade 업그레이드하기
IntelliJ grade 업그레이드하기
More like this
git clone 시 에러 - fatal: early EOF fatal: index-pack failed
git clone 시 에러 - fatal: early EOF fatal: index-pack failed
More like this
Oracle JDBC URL
Oracle JDBC URL
More like this
yum 명령어 실행시 제대로 동작하지 않고 멈춰 있을때 해결 방법
yum 명령어 실행시 제대로 동작하지 않고 멈춰 있을때 해결 방법
More like this