小编obe*_*ies的帖子

474
推荐指数
19
解决办法
36万
查看次数

HttpServletRequest中getRequestURI和getPathInfo方法之间的区别是什么?

我正在制作一个简单,非常轻巧的前置控制器.我需要将请求路径与不同的处理程序(操作)匹配,以便选择正确的路径.

在我的本地计算机上HttpServletRequest.getPathInfo()HttpServletRequest.getRequestURI()返回相同的结果.但我不确定它们会在生产环境中返回什么.

那么,这些方法和我应该选择什么之间的区别是什么?

java servlets

133
推荐指数
4
解决办法
15万
查看次数

如何从本地maven存储库中删除jar文件,该存储库是使用install:install-file添加的?

mvn install:install-file -Dfile=phonegap-1.1.0.jar -DgroupId?=phonegap -DartifactId?=phonegap -Dversion=1.1.0 -Dpackaging=jar
Run Code Online (Sandbox Code Playgroud)

我使用上面的命令将本地jar安装到maven local repo中.现在我得到了maven repo的依赖.我想从本地仓库中删除它.如何清洁?

maven

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

将Maven的本地存储库位置指定为CLI参数

是否可以在Maven命令行上将本地Maven存储库的位置设置为参数?

问题是我没有使用默认的~/.m2/repository.但是我检查了一些正在使用自己的设置构建的项目-s settings.xml.那个settings.xml没有指定我的本地存储库,所以Maven ~/.m2/repository再次使用了...我想使用一个非默认的本地存储库位置,而不必<localRepository>在项目的settings.xml中添加一个元素

我试过了

  • -DlocalRepository="..."
  • $mvn invoker:run -s settings.xml clean install -DskipTests -DlocalRepositoryPath=
  • -Dsettings.localRepository

但这些选项都不起作用.

所以我想我必须决定是否要修改第三方settings.xml或将我的本地仓库移动到 ~

maven

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

如何选择两个标记图案之间的线条,这些线条可能会出现awk/sed多次

使用awksed如何选择两种不同标记图案之间的线条?可能有多个标有这些图案的部分.

例如:假设文件包含:

abc
def1
ghi1
jkl1
mno
abc
def2
ghi2
jkl2
mno
pqr
stu
Run Code Online (Sandbox Code Playgroud)

并且起始模式是abc和结束模式是mno So,我需要输出为:

def1
ghi1
jkl1
def2
ghi2
jkl2
Run Code Online (Sandbox Code Playgroud)

我使用sed匹配模式一次:

sed -e '1,/abc/d' -e '/mno/,$d' <FILE>
Run Code Online (Sandbox Code Playgroud)

有没有办法在sedawk 反复做,直到文件的结尾?

unix shell awk sed pattern-matching

114
推荐指数
5
解决办法
14万
查看次数

在Maven构建中并行运行junit测试?

我正在使用JUnit 4.4和Maven,并且我有大量长时间运行的集成测试.

在并行化测试套件时,有一些解决方案允许我在一个测试类中并行运行每个测试方法.但所有这些都要求我以某种方式改变测试.

我真的认为在X线程中并行运行X个不同的测试类是一个更清晰的解决方案.我有数百个测试,所以我并不真正关心线程化个别测试类.

有没有办法做到这一点?

java junit maven

110
推荐指数
4
解决办法
7万
查看次数

如何从Jackson中的自定义反序列化器调用默认反序列化器

我在杰克逊的自定义反序列化器中遇到了问题.我想访问默认的序列化程序来填充我反序列化的对象.在人口之后,我将做一些自定义的事情,但首先我想用默认的jackson行为反序列化对象.

这是我目前的代码.

public class UserEventDeserializer extends StdDeserializer<User> {

  private static final long serialVersionUID = 7923585097068641765L;

  public UserEventDeserializer() {
    super(User.class);
  }

  @Override
  @Transactional
  public User deserialize(JsonParser jp, DeserializationContext ctxt)
      throws IOException, JsonProcessingException {

    ObjectCodec oc = jp.getCodec();
    JsonNode node = oc.readTree(jp);
    User deserializedUser = null;
    deserializedUser = super.deserialize(jp, ctxt, new User()); 
    // The previous line generates an exception java.lang.UnsupportedOperationException
    // Because there is no implementation of the deserializer.
    // I want a way to access the default spring deserializer for my …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jackson

92
推荐指数
7
解决办法
4万
查看次数

JSR-303 @Valid注释不适用于子对象列表

我的主要课程是

public class UserAddressesForm {

    @NotEmpty
    private String firstName;

    @NotEmpty
    private String lastName;

    private List<AddressForm> addresses;

...
setters and getters 

public class AddressForm {

    @NotEmpty
    private String customName;
    @NotEmpty
    private String city;
    @NotEmpty
    private String streetAn;
    @NotEmpty
    private String streetHn;
    @NotEmpty
    private String addressCountry;
    @NotEmpty
    private String postCode;
...
setters and getters
Run Code Online (Sandbox Code Playgroud)

控制器

@RequestMapping(value = "/up", method = RequestMethod.POST)
    public String completeForm(@Valid @ModelAttribute("userAddressesForm") UserAddressesForm userAddressesForm,  
            BindingResult result, HttpServletRequest req)
...
Run Code Online (Sandbox Code Playgroud)

一个JSP页面

<form:form commandName="userAddressesForm" action="registered">
    <table>

        <tr>
            <td class="formLabels"><form:label path="firstName">
                <spring:message …
Run Code Online (Sandbox Code Playgroud)

java spring json spring-mvc jsr

85
推荐指数
4
解决办法
5万
查看次数

使Eclipse的Java代码格式化程序忽略块注释

有没有办法让Eclipse的内置Java代码格式化程序忽略注释?每当我运行它,它会变成这样:

    /*
     * PSEUDOCODE
     * Read in user's string/paragraph
     * 
     * Three cases are possible
     * Case 1: foobar
     *         do case 1 things
     * Case 2: fred hacker
     *         do case 2 things
     * Case 3: cowboyneal
     *         do case 3 things
     *         
     * In all cases, do some other thing
     */
Run Code Online (Sandbox Code Playgroud)

进入这个:

    /*
     * PSEUDOCODE Read in user's string/paragraph
     * 
     * Three cases are possible Case 1: foobar do case 1 things Case 2: fred
     * hacker do …
Run Code Online (Sandbox Code Playgroud)

eclipse comments formatter

76
推荐指数
5
解决办法
3万
查看次数

Eclipse没有使用NoClassDefFoundError引起的JUnit 5测试

问题

每当我运行我的项目JUnit测试(使用JUnit 5与Java 9和Eclipse Oxygen 1.a)我遇到eclipse无法找到任何测试的问题.

说明

在运行配置下,eclipse甚至找不到用@Test注释的方法,而是只显示" (所有方法) ".以下图片有望为我的设置提供更好的一瞥:

https://imgur.com/a/FTe9c

控制台输出:

java.lang.NoClassDefFoundError: org/junit/platform/launcher/core/LauncherFactory
    at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.<init>(JUnit5TestLoader.java:31)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.base/java.lang.Class.newInstance(Unknown Source)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:368)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:363)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:307)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.init(RemoteTestRunner.java:222)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Caused by: java.lang.ClassNotFoundException: org.junit.platform.launcher.core.LauncherFactory
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
    ... 11 more
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试了什么

我已经试过了

  • 从构建路径中删除测试文件夹并再次添加.
  • 将鼠标悬停在使用@Test注释的方法上开始测试,然后单击"Run as JUnit Test".
  • 从Buildpath中删除JUnit并再次添加
  • 重启日食
  • 我还将项目整个项目从一台机器移动到另一台机器,并在那里使用提供的eclipse安装进行了尝试
  • 重命名测试方法.
  • 重新键入@Test注释

其中一些步骤可以在这里找到,但最终问题仍然存在.

java eclipse junit java-9 junit5

64
推荐指数
14
解决办法
7万
查看次数