Я пытаюсь использовать фильтрацию ресурсов maven для замены текста в классе java. На данный момент я только частично преуспел, т. Е. У меня есть класс Java, который имеет тот же самый placeholder на двух местах. Запустив maven install, он правильно заменит один из классов java, но не тот, который объявлен в java-анотации класса.Фильтрация ресурсов Maven - игнорирование объявления внешнего класса
Ниже соответствующая часть моего класса:
@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;
}
И с ПОМ, у меня есть:
<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 или нет? Есть ли какие-либо ограничения на фильтрацию ресурсов?
[Здесь вы можете увидеть] (https://github.com/khmarbaise/version-examples/tree/master/version-example-iv) как использовать templating- maven-plugin, чтобы работать, что вам нравится. – khmarbaise
@khmarbaise, возможно ли использовать конкретный пакет java-template и просто указать на определенный класс или подпакет? Извините, но это не «звучит» хорошо, отделяя его как шаблон, так как целью этого файла является не шаблон. – FernandoA
'java-template' - это не пакет, это просто папка, где можно найти те классы, которые должны быть отфильтрованы ... – khmarbaise