我在Java Maven环境中工作,在我的应用程序中,我使用SomeFileName.wsdl文件生成了一些Java类。为此,我将maven插件添加到pom.xml,以下是这些插件,
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/generated-sources/folder-name</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<id>some-id</id>
<phase>generate-sources</phase>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlDirectory>src/main/webapp/WEB-INF/wsdl</folder-name>
<wsdlFiles>
<wsdlFile>SomeFileName.wsdl</wsdlFile>
</wsdlFiles>
<wsdlLocation>/WEB-INF/wsdl/*</wsdlLocation>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
关于这个问题,我的问题是,每当此插件在target/generated-sources/folder-name
下生成Java类时,是否有任何maven插件或maven目标或其他可用方式,以便我可以将这些类捆绑到jar中,并能够将该jar添加到我的class-path(build-path)中。这样,我就可以从新生成的jar中访问那些生成的类。
简单来说,当前使用wsdl插件的类将生成到我指定位置的目标文件夹中。我只想将这些生成的类捆绑到一个jar中,然后将该jar添加到构建路径中,是否有实现此目标的方法?
答案 0 :(得分:1)
我在某些Maven项目中使用了jax-ws,并且像其他类文件一样,将仅在目标文件夹中生成来自生成的存根的类文件。生成的源配置仅影响生成的源。 .class文件将最终出现在您的程序包结构中。我的建议是添加packageName
配置,这样生成的类将放在一个更方便的包中。构建项目并成功导入wsdl后,您应该在targer文件夹中看到.class文件。之后,罐子包装将像其他任何项目一样进行。这是一个示例配置(非常类似于您的配置):
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<packageName>com.your.package</packageName>
<sourceDestDir>target/generated-sources/jaxws</sourceDestDir>
<verbose>true</verbose>
</configuration>
</execution>
</executions>
</plugin>