Параметры 'sourceEncoding' rpm-maven-plugin отсутствуют или недействительны
Я пытаюсь использовать плагин RPM Maven Bu я получаю следующую ошибку:
[ОШИБКА] Не удалось выполнить цель org.codehaus.mojo:rpm-maven-plugin:2.1.3:rpm (generate-rpm) в проекте TestRpmAndDocker: параметры 'sourceEncoding' для цели org.codehaus.mojo: rpm-maven- плагин: 2.1.3: rpm отсутствует или недействителен -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: не удалось выполнить цель org.codehaus.mojo: rpm-maven-plugin: 2.1.3: rpm (генерировать -rpm) для проекта TestRpmAndDocker: параметры 'sourceEncoding' для цели org.codehaus.mojo: rpm-maven-plugin: 2.1.3: об / мин отсутствуют или недействительны в org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:220) в org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) в org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) в org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108) в org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76) в org. n.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) в org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116) в org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361) в org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) в org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) в org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213) в org.apache.maven.cli.MavenCli.main(MavenCli.java:157) в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в sun.reflect.NorImphod.invoke(NativeMethodAccessorImpl.java:62) на солнце launcher.Launcher.launchEnhanced(Launcher.java:289) в org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) в org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) в org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) Вызывается: org.apache.maven.plugin.PluginParameterException: параметры "sourceEncoding" для цель org.codehaus.mojo: rpm-maven-plugin: 2.1.3: rpm отсутствует или недействителен в org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields(DefaultMavenPluginManager.java:584) в org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:537) в org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:1ache.joj.java.ec. Ява:208) ... еще 19
это мой пом
<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>TestRpmAndDocker</groupId>
<artifactId>TestRpmAndDocker</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>TestRpmAndDocker</name>
<description>TestRpmAndDocker</description>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<version>2.1.3</version>
<executions>
<execution>
<id>generate-rpm</id>
<goals>
<goal>rpm</goal>
</goals>
</execution>
</executions>
<configuration>
<license>GPL (c) 2005, SWWDC</license>
<distribution>Trash 2005</distribution>
<group>Application/Collectors</group>
<icon>src/main/resources/icon.gif</icon>
<packager>SWWDC</packager>
<prefix>/usr/local</prefix>
<changelogFile>src/changelog</changelogFile>
<defineStatements>
<defineStatement>_unpackaged_files_terminate_build 0</defineStatement>
</defineStatements>
<mappings>
<mapping>
<directory>/usr/local/bin/landfill</directory>
<filemode>440</filemode>
<username>dumper</username>
<groupname>dumpgroup</groupname>
<sources>
<source>
<location>target/classes</location>
</source>
</sources>
</mapping>
<mapping>
<directory>/usr/local/doc/landfill</directory>
<documentation>true</documentation>
<filemode>444</filemode>
<username>dumper</username>
<groupname>dumpgroup</groupname>
<sources>
<source>
<location>target/site</location>
</source>
</sources>
</mapping>
<mapping>
<directory>/usr/local/lib</directory>
<filemode>750</filemode>
<username>dumper</username>
<groupname>dumpgroup</groupname>
<dependency>
<includes>
<include>jmock:jmock</include>
<include>javax.servlet:servlet-api:2.4</include>
</includes>
<excludes>
<exclude>junit:junit</exclude>
</excludes>
</dependency>
</mapping>
<mapping>
<directory>/usr/local/bin</directory>
<filemode>750</filemode>
<username>dumper</username>
<groupname>dumpgroup</groupname>
<sources>
<source>
<location>src/main/bin</location>
</source>
<softlinkSource>
<location>/usr/local/bin/new.sh</location>
<destination>old.sh</destination>
</softlinkSource>
</sources>
</mapping>
<mapping>
<directory>/usr/local/oldbin</directory>
<filemode>750</filemode>
<username>dumper</username>
<groupname>dumpgroup</groupname>
<sources>
<softlinkSource>
<location>/usr/local/bin</location>
</softlinkSource>
</sources>
</mapping>
<mapping>
<directory>/usr/local/conf/landfill</directory>
<configuration>true</configuration>
<filemode>640</filemode>
<username>dumper</username>
<groupname>dumpgroup</groupname>
<sources>
<source>
<location>src/main/conf</location>
</source>
</sources>
</mapping>
<mapping>
<directory>/usr/local/log/landfill</directory>
<filemode>750</filemode>
<username>dumper</username>
<groupname>dumpgroup</groupname>
</mapping>
</mappings>
<preinstallScriptlet>
<script>echo "installing now"</script>
</preinstallScriptlet>
<postinstallScriptlet>
<scriptFile>src/main/scripts/postinstall</scriptFile>
<fileEncoding>utf-8</fileEncoding>
</postinstallScriptlet>
</configuration>
</plugin>
</plugins>
</build>
2 ответа
Я полагаю, вам не хватает следующего фрагмента XML. Я предлагаю вам поставить это прямо перед вашим <build>
тег.
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
Пожалуйста, измените это на кодировку, которую вы используете.
Альтернативой кажется то, что вы можете добавить исходную кодировку в конфигурацию плагина, что имеет для меня гораздо больше смысла, чем свойства, которые предполагается использовать в качестве переменных, насколько я понимаю. Я не понимаю, почему это не задокументировано. "rpm" также явно нужен, хотя это сломало предыдущие версии, насколько я понимаю: пакет RPM с использованием maven
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<version>2.2.0</version>
<extensions>true</extensions>
<configuration>
<sourceEncoding>UTF-8</sourceEncoding>
</configuration>
</plugin>
</plugins>
</build>