составление версии - Eclipse, Maven - PullRequest
6 голосов
/ 19 марта 2012

Недавно меня ужалил какой-то код, проходящий через наш цикл развертывания без каких-либо ошибок компиляции, когда он должен был (мы думали) ...

В рассматриваемом коде используется новый статический метод Integer.compare начиная с Java 1.7.

Серверная среда работает на Java 1.6.Хотя в наших средах разработки установлена ​​Java 1.7.

Мы предполагали, что установка параметров проекта на соответствие JavaSE-1.6 по крайней мере даст нам предупреждения о компиляции в рассматриваемом коде, однако в затмении не будет ни предупреждений, ни ошибок..

Project> properties> java compiler> JDK Compliance> Использовать соответствие из среды выполнения 'JavaSE-1.6' на пути сборки java

Во-вторых, мы используем maven для компиляции окончательного развертывания,Pom четко ориентирован на соответствие компилятору 1.6:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <optimize>true</optimize>
    </configuration>
</plugin>

Однако сборка maven успешно выполняется с кодом проблемы.

Как я могу сказать, что maven и eclipse не работают, когда кодне будет работать в более ранней версии Jvm, чем она компилируется?

Спасибо, Пол.

Ответы [ 2 ]

2 голосов
/ 19 марта 2012

Используйте плагин maven animal sniffer, чтобы сообщать вам, когда вы используете API, которые не имеют обратной совместимости.Мне также сказали, что в Java 1.7 есть такая возможность, но у меня нет личного опыта.

2 голосов
/ 19 марта 2012

Установите Java 1.6 в среде разработки, затем щелкните правой кнопкой мыши по проекту в eclipse и перейдите в Свойства-> Путь сборки Java.Перейдите на вкладку «Библиотеки» и удалите java 1.7 JRE, затем добавьте java 1.6 JRE.

Я недостаточно знаком с maven, чтобы ответить на эту половину.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...