IDEA 10.5 명령줄이 너무 깁니다.
Maven 프로젝트에서 테스트 케이스를 실행할 때(Windows에서):
TestApp.readParameter를 실행하는 동안 오류가 발생했습니다. 명령줄이 너무 깁니다.길이를 줄이기 위해 classpath 파일을 사용할 수 있습니다.프로젝트의 모든 실행 구성에 대해 클래스 경로 파일 모드를 사용하도록 설정하시겠습니까?가능하게 하다
set .iws
<property name="dynamic.classpath" value="true" />
어떻게 고칠 수 있을까요?
Intelij에서 "설정 편집"(실행 -> 설정 편집)으로 이동하여 "명령줄 단축" 행에 표시되는 구성 탭에서 드롭다운 메뉴에서 "classpath file"/"@arg Files(Java 9+)" 옵션을 선택합니다.날 위해 고쳤어.
의 설정Shorten command line:JAR manifest
실행/디버깅 구성에서 문제를 해결합니다.
프로젝트 루트 폴더에서 .idea/workspace.xml 파일을 열고 섹션으로 이동합니다.
<component name="PropertiesComponent">
다음 항목을 추가합니다.
<property name="dynamic.classpath" value="true" />
Intelij 커뮤니티 2021.1 창에서 이 작업을 수행했습니까?정상적으로 작동하였습니다:)
- 구성 편집 메뉴에서 옵션 수정을 클릭합니다.
- 그런 다음 명령줄 단축을 선택합니다.
- JAR 매니페스트 옵션 선택, 적용 및 실행
dynamic.classpath 플래그의 기능(IntelliJ 프로젝트 설정)을 참조하십시오.
뭘 고치고 싶은지 모르겠어동적 클래스 경로를 피하려면 종속성을 수정하고 라이브러리, 프로젝트 파일 및 JDK를 경로가 짧은 디렉터리로 이동하십시오.
편집: 댓글에 링크된 버그는 타당하지만 테스트 실행 시 명령줄이 동적 클래스 경로를 사용하더라도 OS 제한을 초과합니다.이 문제는 IDEA에서 줄일 수 없는 명령줄 인수 또는 옵션이 많기 때문에 발생할 수 있습니다.IDEA는 긴 클래스 경로 문제만 회피할 수 있기 때문입니다.어쩔 수 없습니다. 명령행 길이가 제한 범위 내에 있도록 매개 변수를 앱에 전달하는 방법을 수정해야 합니다.
IDEA측에서는, 이러한 케이스의 대응을 개선합니다.동적 클래스 경로가 이미 사용되고 있고 긴 명령줄에 대한 다른 오류 메시지가 표시되면 이 대화 상자가 더 이상 표시되지 않습니다.이 건에 대해 새로운 호를 제출했습니다.
i Short 명령줄을 none = > JAR 메인페스트에서 설정하면 동작합니다.사용자가 만족할 수 있기를 바랍니다.
답변에 언급된 옵션은 현재 사용 중인 버전 2020.2에서는 사용할 수 없습니다.메시지에 표시된 "활성화" 링크를 클릭하면 이 문제가 해결되었습니다.
.Run/Debug Configurations
.Shorten command line
방법classpath file
를 클릭합니다.
인텔리 J에 관한 것입니다.아래 단계를 따라 테스트를 실행할 수 있습니다.
- 에디터의 상단 메뉴에 있는[ Edit Configurations ](구성 편집)으로 이동합니다.
- JUnits = > 아래에서 옵션 수정을 클릭합니다.
- java = > java [ Shorten Command ]= > [ JAR Manifest ]옵션을 선택합니다.
그게 날 해결했어.
나는 오랫동안 이 오류와 씨름했지만 다른 답변은 도움이 되지 않았다.
은 '다보다'에했다는 것입니다.pitest
다음 중 하나:
useClasspathFile = true
, 그럼 이제...build.gradle
파일에는 다음과 같은 엔트리가 있습니다.
pitest {
threads = 4
//adds dependency to org.pitest:pitest-junit5-plugin and sets "testPlugin" to "junit5"
junit5PluginVersion = '0.12'
useClasspathFile = true <------------------------------
targetClasses = ["com.example.service.*"]
if (project.name in ['no-need-to-mutate-module']) {
failWhenNoMutations = false
}
}
여기 저를 도와준 게시물에 대한 링크가 있습니다.
저도 이 문제가 있었습니다만, 많은 테스트 의존 관계가 클래스 패스에 있는 것을 확인한 후에 skipTests 플래그를 추가하는 것이 수정되었습니다.
mvnw.cmd -DskipTests=true package
커뮤니티 버전을 사용할 때 문제가 있었습니다.Maven 구성으로 프로젝트를 실행함으로써 문제를 해결했습니다.
spring-boot:run -Dspring.profiles.active=local
언급URL : https://stackoverflow.com/questions/6381213/idea-10-5-command-line-is-too-long
'programing' 카테고리의 다른 글
특정 자식 값의 부모 키를 가져오는 mariadb json 쿼리 (0) | 2022.09.12 |
---|---|
MySQL 데이터베이스의 모든 테이블에 있는 필드의 텍스트 검색 (0) | 2022.09.12 |
스태틱 범용 메서드를 호출 (0) | 2022.09.12 |
키별로 사전을 정렬하려면 어떻게 해야 합니까? (0) | 2022.09.12 |
MariaDB - 릴레이 로그 읽기 실패: 릴레이 로그 이벤트 항목을 구문 분석할 수 없습니다. (0) | 2022.09.12 |