2017-11-14 15 views
0

Tomcat 서버 8.5와 내 maven 프로젝트를 통합하려고합니다. 통합이 없으면 모든 것이 잘 작동합니다. 필자는 maven-compiler-plugin을 pom.xml의 tomcat7-maven-plugin으로 대체하고 다른 구성을 수행했습니다. 그 mvn 설치 후, mvn 새로 설치 및 mvn tomcat7 : 모든 예외는 아래 예외와 함께 실패하고 있습니다.존재하지 않는 Java 버전에서 컴파일하는 Apache Tomcat Maven 플러그인

TestServiceCSV.java:[345,48] strings in switch are not supported in -source 1.5 
    (use -source 7 or higher to enable strings in switch) 

    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213) 

내 jdk 버전이 1.8.0_144 인 반면 명확하게 컴파일은 자바 1.5를 사용하여 수행됩니다. 아래의 추가 세부 사항 :

>mvn -version 
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T02:58:13-05:00) 
Maven home: C:\Maven\apache-maven-3.5.2\bin\.. 
Java version: 1.8.0_144, vendor: Oracle Corporation 
Java home: C:\Program Files\Java\jdk1.8.0_144\jre 
Default locale: en_US, platform encoding: Cp1252 
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" 

>java -version 
java version "1.8.0_144" 
Java(TM) SE Runtime Environment (build 1.8.0_144-b01) 
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) 

Eclipse에 설치된 JRE를 JDK로 설정했습니다. 또한 내 프로젝트의 빌드 경로도 동일합니다.

>echo $MAVEN_HOME 
C:\Maven\apache-maven-3.5.2 

>echo $JAVA_HOME 
C:\Program Files\Java\jdk1.8.0_144 

톰캣 버전 8.5.23

의 pom.xml 항목

<plugin> 
<groupId>org.apache.tomcat.maven</groupId> 
<artifactId>tomcat7-maven-plugin</artifactId> 
<version>2.2</version> 
<configuration> 
<url>http://localhost:8080/manager/html</url> 
<server>TomcatServer</server>  
<username>admin</username> 
<password>xxxx</password> 
</configuration> 
</plugin> 

왜 컴파일 대신 실제 버전 1.5에서 수행되고있는 수

?

+0

Tomcat 버전 8.5.23. – Patz

+0

"_maven-compiler-plugin을 tomcat7-maven-plugin_으로 바 꾸었습니다."- ** do not **. Maven에게 사용할 Java 버전을 알려주는'pom.xml '섹션을 제거했습니다. 왜 당신은 단지 ** 플러그인 **을 추가하는 것보다 컴파일러 플러그인을 다시 설치해야한다고 생각하니? –

+0

감사합니다. – Patz

답변

1

Default source level은 컴파일러 플러그인입니다. compiler:compile 목표는 의 compile 단계에 바인딩됩니다. 릴리스 6의 고급 언어 기능을 사용하려면 항상 source and target 레벨을 설정해야합니다.

+0

감사! 두 플러그인 모두 잘 작동합니다! – Patz