82262


以下の環境でビルドを実施した際に、以下のエラーが発生しました。  
エラーの回避方法を知りたいのですが、ご存知の方がいらっしゃればご教授いただけますでしょうか。よろしくお願いいたします。

**環境**  
・Windows 10  
・Oracle OpenJDK 16.0.1  
・Spring Tool Suite 4  
・Spring Boot 2.5.4

### エラー

・パッケージ javax.xml.parsers は複数のモジュールからアクセス可能です: , java.xml  
・パッケージ javax.xml.transform は複数のモジュールからアクセス可能です: , java.xml  
・パッケージ javax.xml.transform.dom は複数のモジュールからアクセス可能です: , java.xml  
・パッケージ javax.xml.transform.stream は複数のモジュールからアクセス可能です: , java.xml  
・パッケージ org.w3c.dom は複数のモジュールからアクセス可能です: , java.xml

[![画像の説明をここに入力](https://i.stack.imgur.com/Q082W.jpg)](https://i.stack.imgur.com/Q082W.jpg)

(補足)

  * 上記エラーですが、build.gradle内にて以下の記述があるとエラーが表示されます。
[code]     implementation group: 'org.apache.poi', name: 'poi-ooxml', version:
'5.0.0'

    
[/code]

  * 一方、poi-ooxmlのバージョンが4.1.2だとエラーは表示されません。
[code]     implementation group: 'org.apache.poi', name: 'poi-ooxml', version:
'4.1.2'

    
[/code]

build.gradle

[code]

    dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-aop'
    implementation 'org.springframework.boot:spring-boot-starter-mail'
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
    implementation 'org.springframework.boot:spring-boot-starter-security:'
    implementation group: 'org.apache.commons', name: 'commons-jexl3', version: '3.2.1'
    implementation 'org.webjars:bootstrap:4.5.0'
    implementation 'org.webjars:jquery:3.5.1'
    implementation 'com.google.code.gson:gson:2.8.8'
    implementation group: 'com.opencsv', name: 'opencsv', version: '5.5.1'
    implementation group: 'org.apache.poi', name: 'poi', version: '5.0.0'
    implementation group: 'org.apache.poi', name: 'poi-ooxml', version: '5.0.0'
    
[/code]


CC BY-SA 4.0
2021-09-05T07:30:49.490
82250
2021-09-06T00:02:14.290
2021-09-06T00:02:14.290
3060
37340
question
java spring-boot
パッケージXXXXXは複数のモジュールからアクセス可能です: <unnamed>, java.xmlの回避方法について


`Ctrl`+`Shift`+`T` で Open Type ダイアログを表示し、エラーになっているクラス、例えば
`javax.xml.parsers.DocumentBuilder` を検索すると、
[JDK](https://docs.oracle.com/javase/jp/11/docs/api/java.xml/javax/xml/parsers/DocumentBuilder.html)
と `xml-apis` に含まれていることがわかるかと思います。

従って、 `xml-apis` を依存関係から除外すれば、 **直面している問題には** 対処可能だと思われます。  
(ただし `xml-apis` を除外することによって他の問題(例えば、必要なクラスがクラスパスに存在しなくなるなど)が発生する可能性も有ります。)

* * *

`gradle dependencies` で依存関係を見てみると、 `poi-ooxml` が `xml-apis`
に依存していることがわかりますので、この依存関係を除外設定します:

[code]

        implementation(group: 'org.apache.poi', name: 'poi-ooxml', version: '5.0.0') {
            exclude group:'xml-apis', module:'xml-apis'
        }
    
[/code]


CC BY-SA 4.0
2021-09-05T15:35:45.220
82262
2021-09-05T15:35:45.220
2808
82250
answer