小编Ser*_*Ten的帖子

使用java从文本中删除url

如何删除文本示例中的URL

String str="Fear psychosis after #AssamRiots - http://www.google.com/LdEbWTgD http://www.yahoo.com/mksVZKBz";
Run Code Online (Sandbox Code Playgroud)

使用正则表达式?

我想删除文本中的所有网址.但它没有用,我的代码是:

String pattern = "(http(.*?)\\s)";
Pattern pt = Pattern.compile(pattern);
Matcher namemacher = pt.matcher(input);
if (namemacher.find()) {
  str=input.replace(namemacher.group(0), "");
}
Run Code Online (Sandbox Code Playgroud)

java regex

13
推荐指数
2
解决办法
2万
查看次数

Tomcat 扫描注释太慢

我有一个 Tomcat 8.5.32 配置为使用 DCEVM

\n\n
JAVA_OPTS="-Xms512m -Dcatalina.home=$CATALINA_HOME -XXaltjvm=dcevm -javaagent:/usr/share/tomcat/lib/hotswap-agent-1.3.0.jar=autoHotswap=true"\n
Run Code Online (Sandbox Code Playgroud)\n\n

要动态重新加载的类在 $CATALINA_HOME/conf/Catalina/localhost/mycontext.xml 中指定,以便 Tomcat 直接从 Eclipse 自动重新生成的 .class 文件重新加载它们。

\n\n
<Context docBase="~/workspace/myapp/myapp-web/src/main/webapp">\n<Resources>\n    <PostResources className="org.apache.catalina.webresources.DirResourceSet"\n                   base="/vagrant/workspace/myapp/myapp-models/target/classes" internalPath="/" webAppMount="/WEB-INF/classes" />\n    <PostResources className="org.apache.catalina.webresources.DirResourceSet"\n                   base="/vagrant/workspace/myapp/myapp-services/target/classes" internalPath="/" webAppMount="/WEB-INF/classes" />\n    <PostResources className="org.apache.catalina.webresources.DirResourceSet"\n                   base="/vagrant/workspace/clocial/myapp-web/target/classes" internalPath="/" webAppMount="/WEB-INF/classes" />\n    <PostResources className="org.apache.catalina.webresources.DirResourceSet"\n                   base="/vagrant/workspace/myapp/myapp-web/target/lib" internalPath="/" webAppMount="/WEB-INF/lib" />\n  </Resources>\n</Context>\n
Run Code Online (Sandbox Code Playgroud)\n\n

这可行,但 Tomcat 加载上下文需要两分钟多的时间,因为有一百多个目录。

\n\n

通过org.apache.catalina.startup.ContextConfig.level = FINE在 conf/logging.properties 进行设置,我得到了一条跟踪信息,表明大部分时间大概都花在了搜索注释上。

\n\n

有没有办法告诉 Tomcat 不要在某些目录中查找注释,以便只扫描实际包含带注释的类的目录?

\n\n

我\xc2\xb4一直在阅读ContextConfig 的源代码,似乎有一些排除规则,但我无法\xc2\xb4理解它们。

\n\n

以下是 catalina.out 的摘录:

\n\n
12:39:32.992 INFO org.apache.catalina.startup.HostConfig.deployDescriptor Deploying configuration descriptor …
Run Code Online (Sandbox Code Playgroud)

java tomcat annotations dcevm

5
推荐指数
0
解决办法
1377
查看次数

如何在 Maven 中使用给定的 JDK 强制编译

我在使用不同 Java 版本的应用程序环境中工作:7、8 和更高版本。开发人员因此安装了几个 JDK,每个 Maven pom.xml 确实有正确的<source><target>标签。但是,有时开发人员会无意中使用更高版本的 JDK 进行编译。所以它们可能包含一个 Java 8 类,就像java.time.LocalDate在 Java 7 中一样,它会编译,因为它能够在编译时解析导入。但是,当应用程序稍后移动到在 JRE 7 上运行时,它将失败,因为它无法找到 Java 8 类。可以在 pom.xml 中创建一个配置文件,如:

<profile>
  <id>compiler</id>
    <properties>
      <JAVA_1_4_HOME>C:\Program Files\Java\j2sdk1.4.2_09</JAVA_1_4_HOME>
    </properties>
</profile>
Run Code Online (Sandbox Code Playgroud)

但是,JDK 的位置因开发人员而异,我想要一个对每个人都通用的 pom.xml。

所以问题是,如何强制 Maven 使用给定的 JDK 版本?不仅<source><target>JDK 本身,而且以一种通用的方式不绑定到任何给定的计算机。

java maven java-7 java-8

4
推荐指数
1
解决办法
915
查看次数

如何使用流使用几乎完全相同的实现重用Java方法

我有一系列的Java方法,所有的外观,除了不同的类象一样Class1NumberClass2NumberClass3Number等如下实施。有什么方法可以编写一个将类作为参数的方法?

Set<String> trimClass1NumberList(Set<String> criteria){
    Set<String> validData = new HashSet<>();
    Set<Class1Number> numberList = criteria.stream().map(String::trim).map(Class1Number::valueOf)
        .filter(Class1Number::isWellformed).collect(Collectors.toSet());
    for (Class1Number num : numberList) {
        // Do somehing with validData
    }
    return validData;
}

Set<String> trimClass2NumberList(Set<String> criteria){
    Set<String> validData = new HashSet<>();
    Set<Class2Number> numberList = criteria.stream().map(String::trim).map(Class2Number::valueOf)
        .filter(Class2Number::isWellformed).collect(Collectors.toSet());
    for (Class2Number num : numberList) {
        // Do somehing with validData
    }
    return validData;
}
Run Code Online (Sandbox Code Playgroud)

java java-stream

1
推荐指数
1
解决办法
50
查看次数

标签 统计

java ×4

annotations ×1

dcevm ×1

java-7 ×1

java-8 ×1

java-stream ×1

maven ×1

regex ×1

tomcat ×1