小编Leo*_*eon的帖子

如何在类路径中放置javaagent的类

我正在尝试开发一个javaagent,它可以在asm-4的帮助下编写代码.现在我遇到了一个非常基本的问题,javaagent的类加载器没有看到asm依赖,因此失败了.我是否必须提供一个jar-with-dependencies(又名maven build plugin),它包含代理所需的所有类,或者是否有另一种方法将类添加到java代理?直接在类路径中引用jar asm-all.jar没有帮助.构建jar-with-dependencies最初没有帮助,因为无法使用程序集插件设置Premain-Class属性.感谢帮助;-)

java classpath javaagents maven

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

自动扫描guice

我之前从未使用过guice,我想在一个基于jersey-RS API的示例项目上尝试一下,该项目由service-bean支持.我遵循了这个指南:http://randomizedsort.blogspot.de/2011/05/using-guice-ified-jersey-in-embedded.html并且能够将它带到工作中.我的设置非常简单,通过Guice调用JAX-RS资源,并且有一个注释@Inject并由Guice注入的字段:

@Path("configuration")
@Produces(MediaType.APPLICATION_JSON)
@Singleton
public class ConfigurationResource {

    @Inject
    private ConfigurationService configurationService;
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都那么好,一切都像它应该的那样,除了以下:我使用GuiceServletContextListener进行设置并且必须明确地命名每个组件:

@WebListener
public class GuiceInitializer extends GuiceServletContextListener{
    @Override
    protected Injector getInjector() {
        return Guice.createInjector(new JerseyServletModule() {
            @Override
            protected void configureServlets() {
                //resources
                bind(ConfigurationResource.class);

                //services
                bind(ConfigurationService.class).to(ConfigurationServiceImpl.class);

                // Route all requests through GuiceContainer
                serve("/management/*").with(GuiceContainer.class);
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

我发现显式命名所有依赖项非常不方便.之前我曾使用独立运动衫,它完全能够自动扫描已定义包装中的资源.此外,Spring和CDI能够将实现映射到接口,而无需明确命名它们.

现在问题部分:

  • guice有自动扫描扩展/设置吗?我在互联网上找到了一些,但很难说它们中哪些仍然可用且最新.

  • 有没有其他可能使实现和资源配置更方便?

提前致谢.莱昂

java jersey ioc-container guice

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

我可以从jar /多个模式加载flyway迁移

我正在尝试飞越并且对类路径和JAR有一个理解问题.

我有一个项目,在多个maven模块中有多个服务.我希望每个服务都使用flyway维护其架构.所以每个服务都是一个maven模块,它有自己的资源目录,我可以放置SQL脚本,哪些是JAR的一部分.现在,该服务可以在嵌入模式下运行,其中多个服务JAR存在于最终用户应用程序中(例如tomcat).

在服务初始化时,我将使用每个服务的数据源运行flyway migrate.如果我使用java迁移,我可以将java类保存在与impls相同的包中并按位置分隔,但是如果我使用SQL迁移,我会这样:

src/main/resources/db/migration/V1_1__Populate_table.sql
Run Code Online (Sandbox Code Playgroud)

在每个模块中.现在的问题是:

  • 飞路可以从罐子里执行sql脚本吗?
  • 如果是,我可以指定执行哪些罐子吗?

java sql flyway

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

标签 统计

java ×3

classpath ×1

flyway ×1

guice ×1

ioc-container ×1

javaagents ×1

jersey ×1

maven ×1

sql ×1