Я обновил свое веб-приложение от JBOSS 5 до JBOSS 7. В моем веб-приложении для получения баннеров, содержащих определенные файлы, я использую следующие строки кода.Возврат vfs insted файла
static final Pattern _URLJarNamePattern = Pattern.compile(".*[/\\\\](.+)\\.(jar|zip)\\!/.*");;
try {
urls = Thread.currentThread().getContextClassLoader().getResources("META-INF/config.properties");
} catch (IOException e) {
throw new AWGenericException(e);
}
while (urls.hasMoreElements()) {
URL url = urls.nextElement();
Matcher m = _URLJarNamePattern.matcher(url.toExternalForm());
if (m.matches()) {
String jarName = m.group(1);
System.out.println(jarName);
_AWJarUrlsByName.put(jarName, url);
}
}
В моем старом случае (JBOSS 5 для сервера) url
строка выглядит следующим образом:
jar:file:/D:/JBOSS5/3.2.0/server/default/deploy/appl.war/WEB-INF/lib/app.myapp.jar!/META-INF/config.properties
Вот когда я запускаю приведенный выше код в JBOSS 5 она успешно работает в соответствии с шаблоном, который я войти и он выводит имя файла JAR (здесь app.myapp
)
Но в случае JBOSS 7, url
строка выглядит следующим образом, что приводит неправильный вывод в соответствии с выше рисунком
vfs:/E:/Servers/jbossas7/standalone/deployments/appl.war/WEB-INF/lib/app.myapp.jar/META-INF/config.properties,
Мой вопрос: почему он дает два выхода для того же кода? Можно ли исправить это без какого-либо изменения кода?
фотографии этого https://github.com /matmsh/tapestry-spring-security-sample/blob/master/src/main/java/nu/localhost/tapestry5/springsecuritytest/services/JBoss7ClasspathURLConverterImpl.java –