我有3个maven项目A,B,C。 A依赖于B,而B依赖于C. A的POM依赖于B和B的POM对C有依赖性。 我想在构建A时在C中排除类文件。
我该怎么做? 我尝试使用maven-jar-plugin的排除,但无法成功。
答案 0 :(得分:2)
override func viewDidLoad() {
super.viewDidLoad()
//Validation
validator.registerField(tfName, rules: [RequiredRule(), FullNameRule()])
}
@IBAction func btnValidatePressed(sender: AnyObject) {
validator.validate(delegate:self) //Error Line
}
//MARK: - Validation
func validationSuccessful() {
}
func validationFailed(errors:[UITextField:ValidationError]) {
// turn the fields to red
for (field, error) in validator.errors {
field.layer.borderColor = UIColor.redColor().CGColor
field.layer.borderWidth = 1.0
error.errorLabel?.text = error.errorMessage // works if you added labels
error.errorLabel?.hidden = false
}
}
答案 1 :(得分:0)
没有快速简便的方法。如果将JAR作为依赖项添加到项目中,则JAR将添加到测试或编译类路径中(基于您提供的范围)。
maven-dependency-plugin
提供unpack
目标,可用于将工件解压缩到特定目录。
作为解决问题的方法,您可以在构建期间将工件C解压缩到A的目标/类中。 unpack
目标提供了一种排除某些文件模式的方法(因此您可以排除特定的类)。
还要确保未将C JAR添加到A的类路径中(相应地调整依赖项 - 可能为类型为pom
的C而不是jar
添加依赖项)。
https://maven.apache.org/plugins/maven-dependency-plugin/unpack-mojo.html
如何在不改变B的情况下从A中排除C jar
<dependency>
<artifactId>B</artifactId>
<groupId>bgroupId</groupId>
<version>bverison</version>
<exclusions>
<exclusion>
<artifactId>C</artifactId>
<groupId>cgroupId</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<artifactId>C</artifactId>
<groupId>cgroupId</groupId>
<version>cverison</version>
<type>pom</type>
<exclusions>
<exclusion>
<artifactId>*</artifactId>
<groupId>*</groupId>
</exclusion>
</exclusions>
</dependency>
现在您可以使用依赖插件来适当地解压缩C JAR(不包括某些文件)