小编Mic*_*fel的帖子

多个源文件夹:避免使用Ant进行隐式编译

考虑以下项目布局(假设A和B相互依赖):

.
|-- bin1
|-- bin2
|-- src1
|   `-- A.java
`-- src2
    `-- B.java
Run Code Online (Sandbox Code Playgroud)

编译后,我希望这些类驻留在各自的文件夹中:

.
|-- bin1
|   `-- A.class
|-- bin2
|   `-- B.class
|-- src1
|   `-- A.java
`-- src2
    `-- B.java
Run Code Online (Sandbox Code Playgroud)

从命令行可以很简单:

 $ javac -implicit:none -sourcepath src1:src2 -d bin1 src1/*
 $ javac -implicit:none -sourcepath src1:src2 -d bin2 src2/*
Run Code Online (Sandbox Code Playgroud)

如果这样配置,Eclipse也会这样做.但我无法弄清楚如何用Ant做到这一点.

附录:我目前的javac任务:

    <javac destdir="${classes.1.dir}">
        <src path="${src.1.dir}" />
        <src path="${src.2.dir}" />
    </javac>
    <javac destdir="${classes.2.dir}">
        <classpath path="${classes.1.dir}" />
        <src path="${src.2.dir}" />
    </javac>
Run Code Online (Sandbox Code Playgroud)

注意循环依赖.在第二个任务的效果很好,它只是编译什么的src2 …

java ant build-process

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

使用 Java 配置配置 Spring Web Flow

我正在使用 Spring 3.1 并希望包含 Spring Web Flow 2.3。我真正喜欢 Spring 的一件事是,您可以不使用 XML 配置,而支持使用@Configuration@Bean注释的纯 Java 配置。

但是,我还没有找到如何以这种方式配置 Web Flow。在我的 Google 搜索中出现的文档都只涉及 XML 配置。可能吗,有人有任何指示吗?

编辑:我不是在问流定义,而是在询问webflow-config模式的替代品。目前,诸如flow-registry和 之类的配置项flow-executor必须包含在 Spring-XML 文件中,以及引用它们的流处理程序映射。

spring spring-webflow

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

使用Spring Data设置提取大小

对于大型结果集,增加提取大小很重要.关于如何设置Spring的获取大小的讨论很多JdbcTemplate.但是,我们通常使用Spring Data进行数据库访问.假设我们使用JPA和Hibernate作为提供者,我如何设置Spring Data查询的获取大小?

spring-data spring-data-jpa

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

不带 MD5SUM 的 Liquibase 变更日志

我这里有一个使用 Liquibase 更新的数据库。如果我理解正确的话,Liquibase 将应用变更集并向表中写入一行,DATABASECHANGELOG其中包含执行日期和 MD5 校验和。这样,Liquibase 就可以发现变更集何时发生(意外)更改。

\n\n

然而,在这个数据库中,许多(大多数)条目MD5SUM都是NULL. 我不知道为什么会这样。这是正常的操作模式吗?

\n\n

使用 Liquibasestatus命令时,我看到许多\xe2\x80\x98unapplied\xe2\x80\x99更改。如果没有 MD5 和,Liquibase 如何确定这一点?或者没有 MD5 和的变更集被视为已更改。

\n

liquibase

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

aspect.jcabi:@Loggable 不会向输出添加日志

我厌倦了添加手动日志来调试我编写的每个方法。

我开始了解jcabi 的@Loggable注释,但没有成功实施,非常感谢您的帮助。

下面是我尝试过的代码。

import com.jcabi.aspects.Loggable;
import lombok.extern.slf4j.Slf4j;

@Slf4j
public class Jcabi {

    @Loggable
    private static String checkJcabi(String stringToPrint) {
        log.info("Print Successfull");
        return stringToPrint;
    }

    public static void main(String[] args) {
        checkJcabi("Hello World!");
    }

}
Run Code Online (Sandbox Code Playgroud)

IDE 控制台打印:

[main] INFO com.amazon.optimus.cpamutil.utils.Jcabi - Print Successfull
Run Code Online (Sandbox Code Playgroud)

这是log.info()我在方法中添加的日志,并且没有@Loggable像这篇文章中提到的这样(下面)的注释日志

[INFO] com.example.Foo #power(2, 10): 1024 in 12?s
[INFO] com.example.Foo #power(3, 3): 27 in 4?s
Run Code Online (Sandbox Code Playgroud)

以下是我使用的依赖包:

JCabiAspects = 1.0;
方面J = 6.0;
Slf4j = 1.7;
Slf4j_Simple = 1.7; …

java debugging logging jcabi

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

如何仅使用 Gradle 和 JUnit 5 运行特定测试?

使用 Gradle 及其 JUnit 4 支持,我可以使用如下--tests选项选择特定测试:

$ ./gradlew test --tests de.mp.BarMT
Run Code Online (Sandbox Code Playgroud)

此选项在使用 JUnit 5 Gradle 任务时无效。test从命令行使用任务时,它会被静默忽略。真正的工作是由junitPlatformTest反正完成的,它不支持该选项:

$ ./gradlew clean junitPlatformTest --tests de.mp.BarMT
…
Problem configuring task :junitPlatformTest from command line.
> Unknown command-line option '--tests'.
Run Code Online (Sandbox Code Playgroud)

JUnit 5 插件是否支持选择特定测试?

gradle junit5

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

Togglz功能的默认激活策略

从版本2.0.0开始,Togglz提供激活策略以使用功能.例如,您可以连接应启用该功能的服务器IP地址列表.但是,这些策略如何实际附加到功能上?我只看到我可以在Togglz控制台中更改策略,甚至可以在数据库中手动编辑数据.

我正在寻找的是一些非常类似的默认机制@EnabledByDefault.我可以实现一个自定义状态存储库,它甚至可以查找注释,但我怀疑这个解决方案是开箱即用的.

togglz

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

Spring MVC3 @SessionAttributes和@ModelAttribute将自动从请求中获取值

我正在尝试开发一个Spring MVC应用程序,现在我遇到了一个问题.登录成功后,我将User实体添加到会话并调用http://localhost:8080/user以获取会话用户.这里一切都好.但是,如果我像这样调用URL,http://localhost:8080/user?username=testuser那么会话用户的用户名将更改为testuser.我该怎么办才能从会话中获取当前用户?

代码如下

实体:

@Entity
public class User {
    private Long id;
    private String username;
    // ...Getter and Setter...
}
Run Code Online (Sandbox Code Playgroud)

控制器:

@Controller
@RequestMapping("user")
@SessionAttributes("current_user")
public class UserController {
    @RequestMapping(method=RequestMethod.GET)
    @ResponseBody
    public User testSession(@ModelAttribute("current_user") User user) {
        return user;
    }
}
Run Code Online (Sandbox Code Playgroud)

回应 http://localhost:8080/user

[{"id":1,"username":"aaa111"}]
Run Code Online (Sandbox Code Playgroud)

回应http://localhost:8080/user?username=testuser; 它应该与上面相同,但是

[{"id":1,"username":"testuser"}]
Run Code Online (Sandbox Code Playgroud)

java session spring spring-mvc

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

Spring Cloud Config无法使用git从本地gitlab获取配置

我正在尝试使用默认的git后端设置Spring Cloud Config Server.我已经设置了一个本地gitlab并将配置文件放入本地gitlab.但是当我启动配置服务器时,抛出以下异常,我哪里出错了?是否有任何方法可以JGitEnvironmentRepository默认配置不验证SSL?

org.eclipse.jgit.api.errors.RefNotFoundException: Ref master can not be resolved
    at org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:244)
    at org.springframework.cloud.config.server.JGitEnvironmentRepository.checkout(JGitEnvironmentRepository.java:208)
    at org.springframework.cloud.config.server.JGitEnvironmentRepository.loadEnvironment(JGitEnvironmentRepository.java:179)
    at org.springframework.cloud.config.server.JGitEnvironmentRepository.findOne(JGitEnvironmentRepository.java:155)
    at org.springframework.cloud.config.server.EnvironmentController.labelled(EnvironmentController.java:55)
    at org.springframework.cloud.config.server.EnvironmentController.master(EnvironmentController.java:49)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:777)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:706)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration$ApplicationContextHeaderFilter.doFilterInternal(EndpointWebMvcAutoConfiguration.java:288)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at …
Run Code Online (Sandbox Code Playgroud)

java spring-cloud

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

以编程方式关闭 Java 进程但不调用 JVM 关闭挂钩的任何方法?

我使用System.exit(),但它总是会调用 JVM 关闭挂钩。如何以编程方式关闭 Java 进程但不调用 JVM 关闭挂钩?

java shutdown-hook

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