由于导入了MavenJAR,所以将javax.xml.namespace.QName加倍

由于导入了MavenJAR,所以将javax.xml.namespace.QName加倍,java,eclipse,maven,Java,Eclipse,Maven,我在将Maven创建的JAR放入我的任何Web项目中时遇到问题 到目前为止,我所做的是:我在不同的web项目上实现了一个用于身份验证的web服务。因此,AuthenticationThing独立于任何Webproject运行,并且可以在将来的项目中用于对同一用户库进行身份验证。因此Webservice已经启动并运行,我创建了一个新的Maven项目,并将所有必要的文件(包括我自己的描述接口的Webservice以及jax ws所需的所有包)打包到一个JAR中。这对我来说已经是一段相当长的旅程,但我

我在将Maven创建的JAR放入我的任何Web项目中时遇到问题

到目前为止,我所做的是:我在不同的web项目上实现了一个用于身份验证的web服务。因此,AuthenticationThing独立于任何Webproject运行,并且可以在将来的项目中用于对同一用户库进行身份验证。因此Webservice已经启动并运行,我创建了一个新的Maven项目,并将所有必要的文件(包括我自己的描述接口的Webservice以及jax ws所需的所有包)打包到一个JAR中。这对我来说已经是一段相当长的旅程,但我通过以下依赖项实现了它:

<dependencies>
    <!-- jax-ws maven dependency -->
    <dependency>
        <groupId>javax.xml.ws</groupId>
        <artifactId>jaxws-api</artifactId>
        <version>2.3.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-rt</artifactId>
        <version>2.1.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.jws/javax.jws-api -->
    <dependency>
        <groupId>javax.jws</groupId>
        <artifactId>javax.jws-api</artifactId>
        <version>1.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.messaging.saaj</groupId>
        <artifactId>saaj-impl</artifactId>
        <version>1.5.1</version>
    </dependency>
</dependencies>

javax.xml.ws

所以我想这是因为我的一个依赖项也拉了这个包,而且它是唯一一个仍然可以通过JRE使用的(?)包(不像其他所有外包的javax.xml.ws,它首先触发了所有Maven包)。那么现在该怎么办呢?我可以指定应该使用哪个QName(显然是来自JRE的QName)吗?或者我可以从Maven JAR中排除javax.xml.namespace吗

我完全不知道该怎么办

<!-- Maven Assembly Plugin -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.4.1</version>
    <configuration>
        <!-- get all project dependencies -->
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <!-- MainClass in mainfest make a executable jar -->
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <!-- bind to the packaging phase -->
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>
The package javax.xml.namespace is accessible from more than one module: <unnamed>, java.xml