Объединение сгенерированных классов в jar и добавление его в путь к классу сборки - PullRequest
0 голосов
/ 26 декабря 2018

Я работаю в среде Java maven, в моем приложении я генерирую некоторые классы Java, используя файл SomeFileName.wsdl.Для этого я добавил плагин 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>

Мой вопрос вокруг этого: всякий раз, когда этот плагин генерирует классы Java под target/generated-sources/folder-name, есть ли плагин maven или mavenЦель или другой доступный способ, чтобы я мог связать эти классы в банку и мог добавить эту банку к моему пути к классам (build-path).Таким образом, я могу получить доступ к этим сгенерированным классам из только что сгенерированного jar.

Проще говоря, в настоящее время с использованием классов плагинов wsdl создаются в целевой папке, где я указал свое местоположение.Я просто хочу объединить эти сгенерированные классы в jar и добавить этот jar в buildpath, есть ли способ достичь этого?

1 Ответ

0 голосов
/ 26 декабря 2018

Я использовал jax-ws в некоторых проектах maven, и файлы классов из сгенерированных заглушек будут просто генерироваться в целевой папке, как и другие файлы классов.Конфигурация сгенерированных источников влияет только на сгенерированные источники.Файлы .class окажутся в вашей структуре пакета.Я предлагаю добавить конфигурацию packageName, чтобы ваши сгенерированные классы были в более удобной упаковке.Как только вы соберете свой проект и wsdl будет успешно импортирован, вы должны увидеть ваши файлы .class в папке targer.После этого упаковка в банку пойдет как любой другой проект.Вот пример конфигурации (очень похожий на ваш):

            <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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...