如何解决如何使用IntelliJ + Maven + Tomcat运行Java 1.7项目,其中包括Java 9模块库?
我认为这是一个专家问题。然后我认为这是一个Tomcat问题。现在我认为这是一个IntelliJ问题。
最近,我的Tomcat实例已开始在加载Maven jar时引发异常:
<dependency>
<groupId>com.github.wnameless.json</groupId>
<artifactId>json-flattener</artifactId>
<version>0.9.0</version>
</dependency>
出现模糊错误-2020年9月2日,下午org.apache.catalina.startup.ContextConfig processAnnotationsJar SEVERE:无法处理Jar中的Jar条目[module-info.class]
使用该依赖项的虚拟项目可以在Intellij中很好地构建。以生成的jar为例,将其手动复制到独立的Tomcat实例(例如TOMCAT_HOME / webapp / project.war)似乎可以正常加载。将编译的字节码目标更改为9(最多11个)和最新的9.0.37 tomcat,通过IntelliJ会出现相同的错误。
核心问题是我通过intellij使用maven tomcat7插件部署到tomcat主页,无论目标字节码,tomcat版本还是openjdk版本,我都收到有关Java 9模块加载期望的错误。
<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>
<groupId>com.company.project</groupId>
<artifactId>javatest</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>Maven Webapp</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.github.wnameless.json</groupId>
<artifactId>json-flattener</artifactId>
<version>0.9.0</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
如何配置Intellij + Maven以避免在运行Tomcat(针对1.7或1.8目标)时尝试使用module-info.class?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。