Я пытаюсь построить военный проект. и при компиляции это дает мне эту ошибку:
[compiler: compile] Компиляция 432 исходных файлов в
C: \ Beta \ ECORP5 \ ECORP5-веб \ целевых \ классы
-------------------------------------------------- ----------- ОШИБКА КОМПИЛЯЦИИ:
-------------------------------------------------- ----------- \ Beta \ fin \ fin-web \ src \ main \ java \ com \ comp \ fin \ utils \ Formatter.java: [23, -1]
не могу получить доступ к файлу плохого класса javax.annotation.PostConstruct:
C: \ Beta \ плавник \ плавник веб \ цель \ одобрила \ JavaEE одобренной-апи-6.0.jar (javax / аннотаций / PostConstruct.class)
файл класса имеет неправильную версию 50.0, должен быть 49.0 1 ошибка
Я не могу избавиться от этой ошибки. Я использую Java 6 и JDK 1.5, вот мой POM.xml или его часть без каких-либо других вещей:
> <**?**xml version="1.0" encoding="UTF-8"?**> <**project
> xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> http://maven.apache.org/xsd/maven-4.0.0.xsd"**>
>
><*modelVersion>4.0.0<*/modelVersion>
> <*parent>
> <*artifactId>fin<*/artifactId>
> <*groupId>com.comps<*/groupId>
> <*version>1.0-SNAPSHOT<*/version>
> <*/parent>
>
> <groupId>com.comps</groupId>
> <artifactId>fin-web</artifactId>
> <version>1.0-SNAPSHOT</version>
> <packaging>war</packaging>
>
> <name>fin-web</name>
>
> <properties>
> <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
> </properties>
>
> <dependencies>
>
> <dependency>
> <groupId>javax</groupId>
> <artifactId>javaee-web-api</artifactId>
> **<version>6.0</version>**
> </dependency>
>
> </dependencies>
>
> <build>
> <plugins>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-compiler-plugin</artifactId>
> <version>2.3.2</version>
> <configuration>
> <**source>1.5</source>
> <target>1.5</target>**
> <compilerArguments>
> <endorseddirs>${endorsed.dir}</endorseddirs>
> </compilerArguments>
> </configuration>
> </plugin>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-war-plugin</artifactId>
> <version>2.1.1</version>
> <configuration>
> <failOnMissingWebXml>false</failOnMissingWebXml>
> </configuration>
> </plugin>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-dependency-plugin</artifactId>
> <version>2.1</version>
> <executions>
> <execution>
> <phase>validate</phase>
> <goals>
> <goal>copy</goal>
> </goals>
> <configuration>
> <outputDirectory>${endorsed.dir}</outputDirectory>
> <silent>true</silent>
> <artifactItems>
> <artifactItem>
> <groupId>javax</groupId>
> <artifactId>javaee-endorsed-api</artifactId>
> <version>6.0</version>
> <type>jar</type>
> </artifactItem>
> </artifactItems>
> </configuration>
> </execution>
> </executions>
> </plugin>
> </plugins>
> </build>
>
> </project>
Я использую IDE NetBeans для создания ушного проекта, и это POM военного модуля. Я строю это отдельно. Я не думаю, что это должно быть проблемой.
Я буду признателен, если кто-нибудь скажет мне, что здесь не так, что он дает эту ошибку.
С другой стороны: когда я создавал проект Maven Ear, он использовал JavaEE 6, поэтому военный модуль также использовал Java EE 6, но когда я добавил некоторые файлы в каталог webApp военного модуля, версия Java EE изменилась в свойства военного модуля для Java EE 1.4 Я не знаю, как он это делает и почему или какой файл заставляет его меняться на уровне модуля.