Maven 패키지는 작동하지만 Intelij의 빌드는 실패함
저는 JDK 1.7 프로젝트를 진행하고 있습니다.이 프로젝트는 maven repo의 로컬 항아리에 의존합니다.
기호를 찾을 수 없는 오류와 함께 Intelij를 사용하여 프로젝트를 빌드할 수 없습니다(기호는 로컬 항아리에서 패키지를 가져오는 클래스입니다).
하지만 'mvn package'를 사용하여 프로젝트를 성공적으로 구축할 수 있습니다.
솔루션과 이미 실행한 작업을 찾는 데 많은 시간을 할애했습니다.
- 무효화된 캐시
- 'mvn 클린 설치' 로컬 병 종속성
- Intelij의 maven 구성에서 '자동 스냅샷 로드'로 표시됨
- 인텔리주(州)에 재입성
- 동기화된
이 에러는 이전에도 몇 번 있었습니다만, 보통 Intelij를 닫거나 mvn 클린 인스톨을 실시하기만 하면 해결되었습니다.
제발 도와주세요.
건 실행은 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」mvn idea:idea
문제를 해결합니다.
파일(IntelliJ IDEA 파일)을 다시 합니다.ipr
,iml
, , , , 입니다.iws
해서 다시 돼요, 다시 맞춰야 돼요.pom.xml
.
문서: https://maven.apache.org/plugins/maven-idea-plugin
플러그인은 폐기되었지만 여전히 (05.06.2021 현재) 마법처럼 작동합니다.
모든 .iml과 POM을 삭제합니다.그런 다음 POM을 복사하여 프로젝트에 다시 붙여넣고 다시 열고 다시 가져옵니다.
제 .iml 파일과 pom이 충돌하여 문제가 발생했다는 것을 알게 되었습니다.
ReImport
저를 위해 다음과 같이 일했습니다.
비슷한 문제(IntelliJ가 아닌 mvn에서 프로젝트 빌드)가 발생했을 때 검색에서 처음 나왔기 때문에 다른 사람에게 도움이 될 수 있도록 힌트를 추가합니다.
제가 이것을 가지고 있었을 때는 Windows와 Mac에서는 다른 수정이었습니다.
맥에서는 이텔리지에 들어가서IDEA / Preferences / Build, Execution, Deployment / Build Tools / Maven / Maven Home Directory 를 사용하여 번들 Maven 이 아닌 별도로 설치된 Maven 을 사용하도록 설정합니다.모든 빌드 문제가 해결되었습니다.
Windows 에서는 SSL과 관련된 idea.log에서 예외가 발견되어 프로젝트 트리의 [External Libraries]브런치 아래에 Java만 있었습니다.다른 사이트를 보면 IntelliJ는 시스템 JDK가 아닌 자체 개인 JDK를 사용하고 있는 것 같습니다(내 경우에는 동일한 JDK 버전이 이미 설치되어 있지만).시스템 JDK는 인텔리J 프라이빗 JDK에는 없었던 기업 Nexus 서버의 키스토어에 증명서가 설치되어 있기 때문에 Nexus에서 파일을 가져오려고 하면 예외가 발생하였습니다.이를 위해 해결책은 IntelliJ를 종료하고 IDEA_라는 환경변수를 설정하는 것이었습니다.JDK는 이미 설치된 적절한 증명서를 가진 JDK를 가리키고 IntelliJ를 재시작합니다.모든 빌드 문제가 해결되었습니다.
IDE는 빌드를 수행할 때 자체 번들된 Maven 복사본을 사용합니다.단말기의 maven이 IDE와 다른 경우는, IDE 를 같게 해 주세요.
GOTO (Mac에서는) - 인텔리J 아이디어 -> 프리퍼런스 -> 빌드, 실행, 전개 -> 빌드 툴 -> 메이븐Maven Home Directory 경로 설정 터미널에서 사용하는 Maven 경로를 찾으려면 command를 입력합니다.mvn -version
그러면 dir 경로를 포함한 많은 세부 정보가 출력됩니다.메이븐 홈디렉토리에 올려놔
안전을 위해 JDK 위치에서도 동일한 작업을 수행할 수 있습니다.
==== 이러한 문제를 일으킬 수 있는 기타 사항 ===
mvn 패키지 또는 mvn 클린 설치 빌드를 실행하는 경우 IDE 캐시에서 작업을 수행해야 합니다.특히, 이것은 보통 이러한 에러에 도움이 됩니다.-->
파일 -> 캐시 비활성화
제가 이 대화에 많이 늦은 건 알지만, 혹시 다른 사람이 이 문제를 발견할 경우를 대비해서 이 글을 올리고 싶었어요.이 문제가 발생하는 또 다른 이유는 올바른 저장소를 참조하고 있지 않기 때문입니다.Intelij는 기본적으로 자신의 maven 저장소에서 jar가 아닌 jar 번들 버전을 선택합니다.연결된 저장소가 올바른 저장소인지 확인합니다.
"commnad" 를 합니다.mvn idea:idea
[ the ]에서 [>]를합니다.
내 경우 iml이 동기화되지 않아 특정 모듈의 iml을 삭제하고 maven 옵션에서 unignore project를 선택하여 iml을 다시 만듭니다.
이 간단한 절차는 라이징 없이 1분 정도 걸립니다.
- IntelliJ 닫기
- .idea/*, *.iml, .settings 등의 IntelliJ 고유 파일만 삭제합니다.POM도 삭제할 것을 제안했지만 IMHO는 필요 없습니다.
- 다음으로 인텔리J에서 프로젝트를 재작성합니다.[ File ] > [ New ]> [ Project from existing Sources ]> [ Project ]의 순서로여러 프로파일 또는 (같은 프로젝트를) Import하지 않도록 주의하십시오.
"dependency cannot found"는 "dependency"를 해결할 수 없음을 의미합니다.따라서 [Analyze]-> [ Analyze Dependencies ]를 클릭하여 [Analysis Scope]를 선택하여 [Dependency Analysis]를 강제적으로 실행할 수 있습니다.
여기에서는 다른 답변에 대한 유용한 힌트를 많이 제공하고 있습니다.제 문제에 도움이 되는 솔루션을 추가하려고 합니다.
했고 항상 저장소를 사용합니다.mvn -s settings.xml
메이븐 cmdline 。IntelliJ는 물론 개인 리포트에 대해 모르기 때문에 약간의 도움이 필요합니다.
[설정] -> [빌드], [실행], [전개] -> [빌드툴]-> [메븐]으로 이동하여 [사용자 설정 파일]옵션을 덮어씁니다.
gradle을 사용하고 있는 경우는, 다음의 커맨드를 사용해 주세요.이것으로 문제가 해결되었습니다.
gradle cleanIdea idea
저도 같은 문제가 있었어요.이동처:
파일 -> 프로젝트 구조 -> 모듈.모듈을 선택하고 "Dependencies" 탭에서 모든 maven 종속성이 추가되었는지 확인합니다.
Idea Editor에서 유사한 문제에 대한 경고를 받으려면 "Dependencies(의존관계)" 탭에서 "Sources(소스)"로 전환하고 src를 소스로 표시합니다.
저도 비슷한 문제가 있어서 maven 의존관계가 intellij에서 업데이트되지 않았다는 것을 깨달았습니다.해결책은 maven 창에서 모든 maven 프로젝트를 새로고침하는 것이었습니다.이것에 의해, intelij는 maven 의존 관계를 새로고침 할 수 밖에 없었습니다.
아래 옵션이 작동하지 않는 비슷한 문제가 있었습니다.
invalidating cache and restart
[(File(File)]메뉴mvn idea:idea
문제 해결 방법:
- IntelliJ를 완전히 닫다
- " " " 를 실행합니다.
git clean -xdf
저장소로 이동합니다.아이디어/임엘/아이프르VCS를 사용하다 - 실행합니다.
mvn clean package
- 와 인텔리J를 »
idea .
여기서 중요한 것은 인텔리지를 닫고 단말기에서 다음 단계를 수행하는 것이었습니다.IntelliJ 내부에서 시도하면 IntelliJ는 여전히 오래된 파일을 캐싱하고 있었습니다.이것은 IntelliJ IDEA 2021.3.2 버전(Ultimate Edition)입니다.
저도 같은 문제가 있었어요.Idea 설정에서 maven version을 3.0.5에서 3.0.4로 변경해서 정상적으로 동작하고 있습니다.그게 왜 나한테 도움이 되는지 모르겠어.
캐시를 무효화하고 Maven을 설치된 버전으로 변경하려고 했지만 아무 것도 작동하지 않았습니다.
새 프로젝트를 닫고 다시 만들면 해결되었습니다.
프로젝트를 닫고 root pom(폴더뿐만 아니라 pom 파일 자체)을 클릭하여 다시 Import했습니다.
나는 위의 모든 것을 시도해 보았지만 기쁨은 없었다.하지만 한 가지 일을 해내서 마침내 작동하게 되었다.
나는 C:에 갔다.\Users\.인텔리JIdea 2018.2에서 폴더 전체를 삭제했습니다.
IntelliJ의 모든 설정과 캐시가 삭제됩니다.프로젝트를 처음부터 다시 가져와야 했지만, 이전에는 간단한 삭제와 재 Import가 통하지 않았지만, 이 덕분에 다시 작업이 가능해졌습니다.
.idea 폴더를 삭제하고 IDE를 닫습니다.
IDE를 다시 열고 프로젝트를 Import합니다.왜냐하면, 새로운 Import를 실행할 수 있기 때문입니다.IDEA 폴더는 이전에 삭제되었습니다.
외부 라이브러리 모듈을 확인하고 필요한 종속성이 입력되지 않은 경우 IDE에서 maven settings.xml 위치가 올바르게 지정되었는지 확인합니다.
언급되지 않은 가능성도 있다.에서 하는 com.sun.*
아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 맞다.
클래스는 ide에서 됩니다.★★★★★★★★★★★★★★★★★★★,com.sun.*
가 되어 있다jre/lib
디렉토리 실행 시 로딩됩니다. '오빠'를 실행하면mvn package
Java 1.6 이후 Oracle의 제한으로 인해 이러한 라이브러리에 액세스할 수 없습니다(이러한 라이브러리는 어떤 면에서는 더 이상 사용되지 않습니다).하려면 , 을 됩니다.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<verbose />
<bootclasspath>C:/Program Files/Java/jdk1.8.0_161/jre/lib/rt.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>
를 cootclass path의 .rt.jar
하면 돼요.Access restriction: The type XXX is not accessible due to restriction on required library
★★★★★★★★★★★★★★★★★★★★★★★★★★★★.
잘못된 모듈이 설정되어 있는 경우 다음 절차를 수행합니다.
- 프로젝트 설정으로 이동
- 모듈로 이동
- 존재해서는 안 되는 모듈을 삭제합니다.
- maven 탭에서 +를 클릭하고 pom.xml을 선택합니다.
- maven 탭에서 소스 및 문서 다운로드 클릭
- 프로젝트 구조(프로젝트 파일/디렉토리 표시 가능)에서 빌드하려는 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 빌드 모듈 프로젝트 이름을 선택합니다.
- [파일명을 지정하여 실행(Run)]탭 - [설정 편집(Edit Configurations with + add Application)]필드에 i를 입력합니다.메인 클래스 - 프로젝트 탭에서 수동으로 선택하여 메인 클래스 ii를 선택합니다.모듈 클래스 경로 사용 - 응용 프로그램 이름 iii를 선택합니다.명령줄 단축 - classpath 파일
- 이제 앱을 실행하기만 하면 됩니다.
제 경우 다른 Project Java SDK 버전에 문제가 있었습니다.터미널에서 프로젝트를 빌드할 때는 maven이 Java 8을, IDEA에서 빌드할 때는 Java 11을 사용했습니다.
[ File ] > [ Project Structure ]으로 이동합니다.Project Settings에서 Project SDK를 원하는 버전으로 설정합니다.
문제는 인텔리J Java 컴파일러 설정에서 Ajc 컴파일러를 선택했다는 것입니다.일단 자바크로 다시 바꾸자 모든 것이 정상적으로 작동했습니다.
Mac의 경우 컴퓨터에서 Intelij Idea Application을 삭제하고 ~/Library/Application Support/JetBrains/Intelli의 캐시 파일을 삭제하여 해결했습니다.JIdea20.1~/라이브러리/캐시/제트브레인/인텔리JIdea20.1
그런 다음 다시 설치하고 내 프로젝트를 연 다음 성공적으로 구축하십시오!
저도 같은 문제에 부딪혔어요.정상적으로 실행할 수 있습니다.mvn clean package
명령어는 터미널에 있지만 IntelJ에서 실행 또는 빌드할 수 없습니다.다음 작업을 수행했지만 모두 실패했습니다.
- 무효화된 캐시
- 달려.
mvn clean package
또는mvn clean package
말미에 - Intelij의 maven 구성에서 '자동 스냅샷 로드'로 표시됨
- 동기화 또는 재 Import
- .idea 및 재 Import 프로젝트 등의 IntelJ 관련 파일을 모두 삭제합니다.
- 모든 의존관계 파일을 삭제한 후 실행
mvn clean package
- IntelJ에서 Java 버전 전환 또는 내장 Java 사용
- 달려.
mvn idea:idea
- 메이븐 홈 변경
- 모듈 탭에서 src 디렉토리를 원본으로 표시
내가 마지막으로 한 일은:프로젝트의 .idea 및 .iml을 삭제하고 모든 의존관계 파일을 삭제한 후 컴퓨터에서 IntelJ를 삭제합니다.IntelJ를 재설치한 후 프로젝트가 성공적으로 구축되었습니다.이 문제를 해결할 더 나은 방법이 있었으면 좋겠어요.
이 오류의 또 다른 이유는 pom.xml 파일에서 lombok과 같은 종속성을 사용하는 것입니다.Java 파일에서 @Data와 같은 롬복 주석을 사용하는 경우 IDE에서 "Errors"를 제거하려면 intellij에 롬복 플러그인을 설치해야 합니다.
나도 같은 문제가 발생하고 있었다.maven 명령어를 사용한 단말기에서 (mvn clean install -DskipTests=true) 프로젝트가 성공적으로 구축되었습니다.그러나 인텔리주에서는 jar spring 라이브러리 파일을 식별할 수 없었습니다.
다음의 순서에 따라서 수정했습니다.
- IDE(intellij)를 닫습니다.
- sudo "rm - sudo / < your _ project _ location > / . idea / " ( / home / user / sudo / test _ proj / . idea / )를 삭제합니다.
- IDE를 다시 엽니다.파일이 다시 인덱싱되어 문제가 해결됩니다.
RCA: Linux에서의 권한 문제로 인해 발생한 것으로 생각됩니다.
언급URL : https://stackoverflow.com/questions/18316857/maven-package-works-but-intellijs-build-fails
'source' 카테고리의 다른 글
래퍼 클래스 및 프리미티브 유형을 사용해야 하는 경우 (0) | 2022.11.18 |
---|---|
파일 시스템에서 클래스를 이동한 후 "클래스 XXX가 유효한 엔티티 또는 매핑된 슈퍼 클래스가 아닙니다" (0) | 2022.11.18 |
권한을 부여하는 동안 사용자 'root'@'localhost'에 대한 액세스가 거부되었습니다.특권을 부여하려면 어떻게 해야 합니까? (0) | 2022.11.18 |
mysql dump의 처리 방법을 어떻게 알 수 있습니까? (0) | 2022.11.18 |
안드로이드 앱이 C/C++로 작성되어서는 안 되는 이유는 "단순히 C/C++의 프로그램을 선호하기 때문"입니다. (0) | 2022.11.18 |