---
title: “程序包xxx已在模块xxx中声明，但该模块未导出它”编译报错的解决方法
description: "当项目使用JDK 11及以上版本时，出现如下报错信息。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/development/utgen/UTgen_0026.html
sourcePath: /source/zh/kunpengdevps/development/utgen/UTgen_0026.html
indexId: 1daf138aaf877bba956c43ef8e4ef32c197afe7bcbd7f0dcfbf146cf7903766157
---
# “程序包xxx已在模块xxx中声明，但该模块未导出它”编译报错的解决方法

#### 现象描述

当项目使用JDK 11及以上版本时，出现如下报错信息。

```
java: package xxx is not visible
(package xxx is declared in module java.base, which does not export it)
```


#### 可能原因

pom.xml文件或者build.gradle文件中未添加启动参数。


#### 处理步骤

在pom.xml文件或者build.gradle文件中添加编译启动参数。

例如：在pom.xml文件中添加编译启动参数。

```
<build>
    <plugins>
        <plugin>
            <!-- 编译插件 -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>${java.version}</source>
                <target>${java.version}</target>
                <encoding>${project.build.sourceEncoding}</encoding>
                <compilerArgs>
                    <arg>--add-exports</arg>
                    <arg>java.base/sun.util.calendar=ALL-UNNAMED</arg>
                </compilerArgs>
            </configuration>
        </plugin>
    </plugins>
</build>
```
