相关疑难解决方法(0)

在Maven多模块项目中,如何在一个孩子中禁用插件?

我有一个maven多模块项目(男孩,我已经写了打开方式在这个网站太多次了).几乎所有模块(即其中包含代码的模块)都应运行maven-site-plugin来生成有关代码覆盖率等的报告.这些模块具有详细的共享配置 - 报告运行,要覆盖哪些文件/排除某些插件等

但是,有一些模块可以处理打包 - 运行程序集插件以生成tarball等.这些都不会从运行站点报告中获得任何好处 - 没有可以分析的代码,也没有可以报告的测试.

所以我有很多需要共享插件配置的模块,以及一些不需要运行插件的模块,最好是根本不需要.如果我把插件放在<build>父POM 的部分中,我可以做前者(共享配置),但在这种情况下,我似乎无法关闭插件.如果我将配置下推到每个模块自己的POM,我可以做后者(避免运行插件),但在这种情况下我无法想出一个分享配置信息的好方法.

我想要的是 - 共享配置,对于有时被子模块禁用的插件 - 甚至可能吗?如果是这样,怎么样?

plugins reporting dependency-management maven

42
推荐指数
1
解决办法
2万
查看次数

激活资源过滤后编码错误

我正在开发一个基于maven的web项目.在我的网络模块中,我使用不同语言的特定资源包(德语,西班牙语......).我所有的资源都是基于UTF-8而且一切正常.现在有必要根据不同的maven配置文件来激活maven资源过滤来替换一些配置.

我的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">
.....

 <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </properties>    
 <build>
 <resources>
    <resource>
    <directory>src/main/resources</directory>
        <filtering>true</filtering>             
    </resource>      
 </resources>
 ....
Run Code Online (Sandbox Code Playgroud)

从那时起,我的war文件包含编码错误的资源包.例如,德语变音符号不再正确显示在我的Web应用程序中.当我禁用资源过滤时,一切都很好.

我找到的唯一解决方案是将属性project.build.sourceEncoding设置为'ISO-8859-1'

<properties>
  <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
</properties>
Run Code Online (Sandbox Code Playgroud)

但我不明白为什么这是必要的?我的所有来源都是UTF-8,我的应用程序也是基于UTF-8?如果我需要添加资源包 - 例如日文字符会发生什么?

我正在使用Eclipse 4.2和Maven 3在Linux上进行开发

encoding character-encoding maven-3 maven

8
推荐指数
1
解决办法
8438
查看次数