programing

주 클래스 org.apache.maven을 찾거나 로드할 수 없습니다.랩퍼메이븐 래퍼 메인

golfzon 2023. 3. 10. 23:01
반응형

주 클래스 org.apache.maven을 찾거나 로드할 수 없습니다.랩퍼메이븐 래퍼 메인

여기 봄 부트프로젝트가 있습니다.Travis CI에서 다음 오류가 발생했습니다.

shell
3.43s$ ./mvnw install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
/home/travis/build/jcasbin/jcasbin-springboot-plugin
Picked up _JAVA_OPTIONS: -Xmx2048m -Xms512m
Error: Could not find or load main class org.apache.maven.wrapper.MavenWrapperMain
The command "eval ./mvnw install -DskipTests=true -Dmaven.javadoc.skip=true -B -V " failed. Retrying, 2 of 3.

...인 것 .mvnw명령어가 실패합니다.은 IDE: 2018.되었습니다.IDE: IntelliJ IDEA 2018.1을 하다어떤 용도로 사용되는지 알 수 없고, 왜 고장이 나는 거죠?

저는 이미 Spring Boot의 github 문제에 대해 문제를 제기했습니다만, Spring 프로젝트는 Maven 래퍼의 문제라고 말하고, 여기를 가리켰습니다.무슨 뜻인지 잘 모르겠어요.메이븐 벌레인가요?그럼 오류는 어떻게 해결하나요?

의의답답 옳옳옳옳옳여기에 필요한 jar를 포함한 .mvn 디렉토리를 작성하는 방법이 있습니다.
정답은 이쪽(https://www.baeldung.com/maven-wrapper))에서 찾았습니다.

maven이 있고 maven wrapper를 작동시키려면 maven wrapper를 설정해야 합니다.

mvn -N io.takari:maven:wrapper

.mvn 디렉토리를 생성하여 필요한 jar를 넣습니다.

★★★★★★★★를 놓치고 있습니다.mvn는 git저장소의 입니다.는 는는이이 called called called called called called called called called called called called called called라는 폴더가 있어야 ..mvn에는 「」의 파일이 되어 있습니다.wrapper/maven-wrapper.jar,wrapper/maven-wrapper.properties ★★★★★★★★★★★★★★★★★」jvm.config이치노

번 .git add -f .mvn커밋 후 푸시합니다.

  1. 올렉시 볼린스키에 더해서

공식 포장지를 사용하다

mvn 래퍼: 개요

io.takari가 아닌 : maven : 유지보수가 종료된 상태

  1. Phil Webb이 언급한 바와 같이 .mvn 폴더를 git 저장소에 추가합니다.

를 에게, 이 에러가 하고 있는 경우는, 의 「」, 「」, 「」, 「」, 「」를 확인해 주세요..mvnCRLF를 사용하다이 경우 LF로 변경하면 문제가 해결될 수 있습니다.

(용도를 알 수 없습니다)

mvnw는 maven wrapper입니다.기본적으로 로컬 설치에서 maven을 분리하여 실제 mvn 명령에 체크와 기능을 추가하는 스크립트입니다.자세한 설명은 공식 maven 문서를 참조하십시오.

으로 )mvn는합니다.

    mvn wrapper:wrapper 

그러면 적어도 다음과 같은 새로운 파일이 생성됩니다.

    .
    ├── .mvn
    │   └── wrapper
    │       ├── maven-wrapper.jar
    │       └── maven-wrapper.properties
    ├── mvnw
    └── mvnw.cmd

후, 리고okingoking를 으로써, then then then then를 호출합니다.mvnwmaven-maven.jar의 maven.jar의 maven.maven의 maven.jar의 maven.maven.maven의 maven.jar의 maven.

경우,maven-wrapper.jar명령어 뒤에 배치되지 않습니다.이치노가장 일반적인 것은 설정이 필요한 프록시입니다.

【수정 방법】:

뭐가 문제죠?

프록시 문제:

처음에mvn wrapper:wrapper가져올 수 없었다maven-wrapper.jar나를 위해.

.
├── .mvn
│   └── wrapper
│       └── maven-wrapper.properties
├── mvnw
└── mvnw.cmd

Rabbit Hole을 자세히 살펴보고 실제 래퍼 코드를 확인하면 기본 프록시가 없다는 것을 알 수 있습니다. 그러나 기본 프록시는 다음을 생성하여 Java 가상 머신의 프록시를 설정할 수 있습니다..mvn/jvm.config파일 내용:

    -Dhttp.proxyHost=proxy.domain.name
    -Dhttp.proxyPort=8080
    -Dhttps.proxyHost=proxy.domain.name
    -Dhttps.proxyPort=8080 

setup 명령어를 재실행하기만 하면 됩니다.

    mvn wrapper:wrapper

모든 것을 스스로 취득했습니다.

    .
    ├─ .mvn
    │  ├── jvm.config
    │  └── wrapper
    │      ├── maven-wrapper.jar
    │      └── maven-wrapper.properties
    ├── mvnw
    └── mvnw.cmd

이쯤 되면./mvnw clean install는 정상적으로 동작할 것입니다.-그것은 나에게 효과가 있었습니다(단, 며칠간만).

클래스 문제:

어느 좋은 날, 사무실에 와서mvnw말씀하신 것과 같은 에러가 반환되었습니다!...

저에게 이 문제는 실제로는 의 회선종료(LF <-> CRLF) 문제였습니다.jvm.config파일.

처럼mvnwscript는 옵션을 실제 명령어로 확장합니다.이 명령어는 classpath 옵션보다 먼저 CR에서 분할하여 처리됩니다.이 클래스 패스는 maven-wrapper.jar(MaveWrapperMain 포함)가 전달되는 곳이기 때문에 java 명령어는 실제로 클래스를 가져올 수 없었습니다.

수정 방법:

CRLF 없이 LF만 포함하는 파일을 다시 만들었습니다.

보너스:

이 CRLF는 Windows 머신상의 유저에 의해서 도입되고 있는 것을 알 수 있었기 때문에, 이 문제를 반복하지 않기 위해서 몇개의 git 문서를 체크해, 다음의 조작을 실시해, 모두에게 같은 조작을 권했습니다.

    git config --global core.autocrlf true

이렇게 하면 제가 발견한 단계가 집중되어 누군가에게 시간을 절약해 주길 바랍니다.

내 경우 프로젝트를 폴더에 저장했는데, 이 폴더에는 악센트가 있는 문자(내 경우 'α')가 포함되어 있습니다.악센트를 삭제하면 문제가 해결.

사실 mvn 클린 설치만 했는데 작동했어요. 구체적으로는 이전 버전의 스프링 2.0을 사용하고 있습니다.

언급URL : https://stackoverflow.com/questions/50104172/could-not-find-or-load-main-class-org-apache-maven-wrapper-mavenwrappermain

반응형