Я хотел бы включить все папки, содержащиеся в «», в папку, которая будет создана в пакете, который будет называться «общим».
Чтобы быть более явным, я хотел бы, чтобы древовидная структура была в этой форме:
mypackage.jar
| common
| library
| public
| layout
| application
| rss
| config
| package.properties
| .htaccess
На данный момент это работает, однако результат имеет следующую форму:
mypackage.jar
| library
| public
| layout
| application
| rss
| config
| package.properties
| .htaccess
Я не могу понять, как сделать эту операцию, которая кажется довольно простой. Извините, это первый раз, когда я делаю скрипты maven.
Большое спасибо за уделенное время :)
Вот мой код:
<build>
<directory>target</directory>
<finalName>${project.artifactId}-${project.version}</finalName>
<outputDirectory>${project.build.directory}/pdc</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}</directory>
<includes>
<include>library/</include>
<include>public/</include>
<include>layout/</include>
<include>application/</include>
<include>rss/</include>
<include>config/include.php</include>
<include>config/constant.php</include>
<include>.htaccess</include>
<include>package.properties</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<outputDirectory>target</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
Добавьте targetPath
, как показано ниже.
<project>
<build>
...
<resources>
<resource>
<targetPath>common</targetPath>
...
</resource>
</resources>
<testResources>
...
</testResources>
...
</build>
</project>
Неправильно лучше использовать maven-assembly-plugin для создания результирующей структуры... Это нарушает соглашение о парадигме конфигурации... Кроме того, файл jar не будет содержать подпапку, содержащую файл jar и т. д., который больше не является файлом jar поэтому лучше использовать результат в виде файла zip/tar.gz, что дает понять, что его нельзя использовать повторно...