希望我能提供所需的一切:
Java 8GWT 2.5.1Eclipse 2018-09(4.9.0)git
我有一个项目,我无法始终如一地进行编译。在Eclipse中,我使用GWT->编译选项进行编译,而在我们的Web服务器上,我们使用Ant。
我可以在其中一台或多台计算机上成功编译(我们有一个Dev和一个QA服务器)。我可以让它们编译一次,两次甚至三遍。然后,在任何计算机上,它都会失败并且失败并且失败。
错误是这样:
[[ERROR]]'jar:file:/ C:/Users/htaylor/git/codemanagerclient/CodeManagerClient/war/WEB-INF/lib/guava-gwt-12.0.jar!/ com / google / common / base中的错误/Strings.java'[错误]第1行:无法解析java.util.regex.Pattern类型。从所需的.class文件间接引用]
我只用Java编写代码一年多,但坦率地说,我很困惑。我不明白为什么它一次编译一次,而不是下次编译,即使在一次成功之后立即编译。对我而言,这表明每次都无法以相同,适当的顺序完成某项工作。
我只是想知道是否有人可以帮助阐明这一点。
您需要使用GWT库中的正则表达式:
import com.google.gwt.regexp.shared.MatchResult;
import com.google.gwt.regexp.shared.RegExp;
这是使用GWT的完整的Regex实用程序:
public class RegexHelper {
public static ArrayList<String> getMatches(String input, String pattern) {
ArrayList<String> matches = new ArrayList<String>();
RegExp regExp = RegExp.compile(pattern, "g");
for (MatchResult matcher = regExp.exec(input); matcher != null; matcher = regExp.exec(input)) {
for(int i=0;i<matcher.getGroupCount();i++) {
if(i != 0) {
matches.add(matcher.getGroup(i));
}
}
}
return matches;
}
}
您可以这样使用它:
RegexHelper.getMatches(INPUT_STRING, REGEX_PATTERN);
希望这会有所帮助。
感谢您的评论。我不同意你们说我们的东西太旧了。肯定是。原因很复杂。我只能说,我们正在努力。
我也感谢有关使用GWT库中的正则表达式的建议。我可以测试一下。
我确实解决了我的问题,不是解决问题,而是解决问题。我能够确定我们仅使用了Strings.java类中的一种方法,即isNullOrEmpty()。而且我们仅在两堂课中使用了几次。我只是在那些类中编写了该方法的本地版本,这意味着编译器不再寻找该类。这很俗气,本质上是躲避,但在这种情况下有效。