Я пытаюсь создать существующий проект.
Мне удалось создать файл EAR (поскольку мне нужно развернуть в Websphere). Когда я пытаюсь выполнить развертывание, используя консоль администратора, могу успешно установить, но приложение не работает. После исследования я обнаружил, что размер class files
очень меньше по сравнению с эталонным EAR-файлом (старый существующий EAR-файл)
Шаги, которые я выполнил для создания файла EAR
- Плагин M2E установлен
- Настроить на Maven
- Добавить ALL jar-файлы из папки
lib
, как показано ниже (я читал в SO, это не рекомендуемый способ, но для завершения проекта я должен это сделать)
<dependency>
<groupId>JarFile</groupId>
<artifactId>JarFile</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/WebContent/WEB-INF/lib/CRDBXMLExternal.jar</systemPath>
</dependency>
- Добавлены соответствующие плагины
(war, EAR)
- Чистая сборка и установка.
ear
файл создан. ear
содержит файл war
, который содержит все файлы, относящиеся к проекту, включая class
, jsp
и т. Д.
Я сравнил структуру папок с существующим файлом EAR и его содержимым, все выглядит хорошо. Но только размер файлов классов (не ВСЕ, но более 80%) варьируется. Я использую JD для decompile
и вижу код, большая часть кода отсутствует, включая imports
.
Если кто-то сталкивался с подобной проблемой, скажите, пожалуйста, что я делаю не так?
Подробнее
есть две папки проекта (обе maven), одна создаст WAR, а другая EAR в EAR pom.xml
есть зависимость
<dependency>
<groupId>com.comp.abc</groupId>
<artifactId>abc</artifactId>
<version>1.0</version>
<type>war</type>
</dependency>
Тогда есть плагин
<build>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.10</version>
<configuration>
<version>5</version>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<generatedDescriptorLocation>C:\COMP\Dev\may\repos\0.0.1-SNAPSHOT</generatedDescriptorLocation>
</configuration>
</plugin>
</plugins>
</build>
Добавление построения WAR-файла (убрано большинство зависимостей, сохранен только один пример) POM.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.comp.abc</groupId>
<artifactId>abc</artifactId>
<version>1.0</version>
<packaging>war</packaging>
<name>ABC</name>
<description>ABC</description>
<dependencies>
<!-- Local Repository -->
<dependency>
<groupId>com.ibm.ws.runtime</groupId>
<artifactId>com.ibm.ws.runtime</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/WebContent/WEB-INF/lib/com.ibm.ws.runtime.jar</systemPath>
</dependency>
</dependencies>
<repositories>
<repository>
<id>nexus-releases</id>
<name>nexus</name>
<url>http://abc-nexus.ldn.xyz.com:9080/nexus/content/groups/public/</url>
</repository>
</repositories>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<!-- <warSourceDirectory>${project.basedir}\WebContent</warSourceDirectory> -->
<warSourceDirectory>WebContent</warSourceDirectory>
</configuration>
</plugin>
</plugins>
</build>
</project>