Nexus integration

nexus deploy 시 400 Error

[INFO] ------------------------------------------------------------------------
[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 from/to tech.release ( Failed to transfer file: 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 임 (
  • 해당 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 Failure to find in 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 에 다음 내용 추가 -

  • 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.



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 에 다음 내용 추가


See also

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


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


m2e bug 이며 다음 순서로 처리

  1. m2e 업데이트 ( 참고)
  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:


“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 의 경로를 지정



 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.파라미터를 " 로 둘러 싸서 실행


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


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