我尝试使用maven资源过滤来替换java类中的文本。 此时,我只是部分成功,即我有一个在两个地方有相同占位符的java类。运行maven install,它会正确替换java类中的一个,但不能替换java类anotation中声明的那个。
以下是我班级的相关部分:
@WebServiceClient(name = "Support", targetNamespace = "http://tempuri.org/", wsdlLocation = "${java.wsdlLocation}" )
public class Support extends Service {
private final static URL SUPPORT_WSDL_LOCATION;
private final static WebServiceException SUPPORT_EXCEPTION;
private final static QName SUPPORT_QNAME = new Name("http://tempuri.org/", "Support");
static {
URL url = null;
WebServiceException e = null;
try {
url = new URL("${java.wsdlLocation}");
} catch (MalformedURLException ex) {
e = new WebServiceException(ex);
}
SUPPORT_WSDL_LOCATION = url;
SUPPORT_EXCEPTION = e;
}
从pom,我有:
<resources>
<!-- Filter Java files -->
<resource>
<filtering>true</filtering>
<directory>src/main/java</directory>
<targetPath>../filtered-sources/java</targetPath>
<includes>
<include>**/*.java</include>
</includes>
</resource>
</resources>
<!-- change default source directory to filtered-sources/java -->
<sourceDirectory>target/filtered-sources/java</sourceDirectory>
我做错了吗?不应该进行资源过滤,取代某种盲文,忽略它是否是一个java类? 资源过滤是否存在任何限制?
答案 0 :(得分:0)
这不完全是一个解决方案,因为我还没有完全理解为什么这不能按预期工作。但是,在做了一些尝试之后,我不断更改标签的位置,经过一些尝试后它才起作用。 这就是最终结果:
@WebServiceClient(
name = "Support",
targetNamespace = "http://tempuri.org/",
wsdlLocation = "${java.wsdlLocation}" )
public class Support extends Service {