Eclipse + Maven: принудительная среда выполнения JavaSE-1.6 вместо исправленного JDK - PullRequest
8 голосов
/ 21 января 2011

Я использую Eclipse как IDE и Maven вне его, чтобы поддерживать все зависимости в актуальном состоянии и обновлять Eclipse-проект как таковой В Eclipse я обычно указываю системную библиотеку JRE в качестве среды выполнения для любого Java-проекта, обычно «JavaSE-1.6».

В файле pom.xml я использую следующие строки:

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>2.8</version>
            <configuration>
                <projectNameTemplate>[groupId].[artifactId]</projectNameTemplate>
                <downloadJavadocs>true</downloadJavadocs>
                <wtpversion>2.0</wtpversion>
            </configuration>
        </plugin>

Это, похоже, позволяет Maven выбрать JDK, соответствующий 1.6. Он назначает свои системные библиотеки пути к классам проекта. Однако он использует jdk1.6.20 напрямую, а не JavaSE-1.6.

Есть ли способ заставить Maven использовать JavaSE-1.6 вместо этого?


EDIT: Вот командный файл, который я использую для запуска Maven:

SET JAVA_HOME=C:\Programme\java\jdk1.6.0_20
SET MAVEN_HOME=C:\Programme\apache-maven-2.2.1
SET MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=128m
SET PATH=%JAVA_HOME%\bin;%MAVEN_HOME%\bin;%PATH%

SET EXTRA_MVN_OPTS=-Dmaven.test.skip=true

CD /D "%~dp0"
cmd /c mvn %EXTRA_MVN_OPTS% eclipse:clean eclipse:eclipse
cmd /c mvn %EXTRA_MVN_OPTS% clean install

Ответы [ 3 ]

10 голосов
/ 21 января 2011

Вы можете сделать это, установив контейнер classpath.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.8</version>
    <configuration>
        <classpathContainers>
           <classpathContainer>
    org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6
           </classpathContainer>
        </classpathContainers>
    </configuration>
</plugin>

Ссылка:

2 голосов
/ 21 января 2011

Перейдите в «Окно»> «Установки»> «Java»> «Установленные JRE»> «Среды выполнения»

Выберите JavaSE-1.6, установите флажок справа, который должен указывать «идеальное совпадение»

затем используйте «Обновить конфигурацию проекта» из меню maven.

0 голосов
/ 21 января 2011

Поскольку вы используете maven и eclipse, возможно, вам следует использовать плагин M2Eclipse .Проект maven (созданный maven путем установки JAVA_HOME=C:\Program Files\Java\jdk1.6.0_23), импортированный в Eclipse, отображается с JRE System Library как JavaSE-1.6

...