Java 将JRE添加到Maven项目类路径

Java 将JRE添加到Maven项目类路径,java,maven,classpath,Java,Maven,Classpath,我是Maven的新手,遇到了以下问题:我创建了一个Maven示例项目,我正在尝试创建一些war。我已经在pom.xml中添加了几个依赖项,但我就是不知道如何将JRE添加到类路径中。编译war模块时,出现以下错误: [ERROR] /C:/path/to/class/PreferredMapper.java:[3,44] package com.sun.xml.internal.bind.marshaller does not exist [ERROR] /C:/path/to/class/Pre

我是Maven的新手,遇到了以下问题:我创建了一个Maven示例项目,我正在尝试创建一些war。我已经在pom.xml中添加了几个依赖项,但我就是不知道如何将JRE添加到类路径中。编译war模块时,出现以下错误:

[ERROR] /C:/path/to/class/PreferredMapper.java:[3,44] package com.sun.xml.internal.bind.marshaller does not exist
[ERROR] /C:/path/to/class/PreferredMapper.java:[11,38] cannot find symbol
  symbol: class NamespacePrefixMapper
NamespaceprefixMapper
包含在JRE的库
rt.jar
中,所以我猜我的JRE不在编译类路径中。我已经尝试将JRE作为依赖项添加到我的pom.xml中,但它不起作用

向类路径添加JRE库的正确方法是什么

编辑1:

War模块pom.xml:

<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>
    <groupId>com.example</groupId>
    <artifactId>multi-module-project</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>war-module</artifactId>
<packaging>war</packaging>
<name>WarModule</name>
<description>WAR module</description>

<dependencies>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
    </dependency>
    <dependency>
        <groupId>aopalliance</groupId>
        <artifactId>aopalliance</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
    </dependency>
    <dependency>
        <groupId>com.ibm.ws.admin</groupId>
        <artifactId>client</artifactId>
    </dependency>
    <dependency>
        <groupId>com.ibm.ws.ejb</groupId>
        <artifactId>thinclient</artifactId>
    </dependency>
</dependencies>

4.0.0
com.example
多模块项目
0.0.1-快照
战争舱
战争
作战模块
战争舱
org.apache.commons
commons-lang3
org.springframework
SpringJDBC
org.springframework
spring上下文
org.springframework
弹簧试验
org.apache.logging.log4j
log4japi
org.apache.logging.log4j
log4j型芯
奥帕林
奥帕林
org.apache.httpcomponents
httpclient
朱尼特
朱尼特
com.ibm.ws.admin
客户
com.ibm.ws.ejb
瘦顾客


这是一个包含ear和war模块的多模块项目。我正试图通过运行
mvn install
命令将工件安装到本地存储库中。

我将添加一个属性部分,其中包括以下内容(根据需要更改版本)


1.8
然后添加编译器插件

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.7.0</version>
    <configuration>
        <source>${java.version}</source>
        <target>${java.version}</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

org.apache.maven.plugins
maven编译器插件
3.7.0
${java.version}
${java.version}
UTF-8

我想我已经看到了更优雅的方法,但这是我所习惯的。

您需要向我们展示您的pom.xml文件,可能还有用于生成war的命令行。@Goibniu请参阅EDIT1。
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.7.0</version>
    <configuration>
        <source>${java.version}</source>
        <target>${java.version}</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>