zoukankan      html  css  js  c++  java
  • 导出的jar包,spring注解没有生效

    @参考博客

    jar包中有个ApplicationListener的实现类,发现启动项目时总是不能自动执行。我在项目中直接用写实现类也可以自动执行,我怀疑是spring扫描不到,建了相同的文件夹相同的类也可以自动执行。

    最后怀疑是导出的jar包有问题。确定源码没问题后,将问题缩小在了导出jar时几个勾选上。

    参考博客中提到

    Add  directory entries   增加目录条目(很少人知道这个选项有什么用,其实他真的很有用!
    
                                 在spring中有个这样的标签 <context:component-scan  />,它可以用来自动扫描包, 但是如果在你打的jar包里要不勾选Add  directory entries,那么你这个jar包,就不能spring的jar包那样 可以被扫描到)

    豁然开朗,勾选后导出的jar包,果然能在启动时自动执行ApplicationListener的实现类

    附:参考文章中的相关说明

        * Export generated class files and resources 表示只导出生成的.class文件和其他资源文件
        * Export all output folders for checked projects 表示导出选中项目的所有文件夹
        * Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了
        * Export refactorings for checked projects 把一些重构的信息文件也包含进去
    在Select the export destination中选择导出的jar的路径:
    
     
    
    Options:的操作
    
     
    
    Compress the contents of the JAR file  压缩精简 jar文件的内容     
    
    Add  directory entries   增加目录条目(很少人知道这个选项有什么用,其实他真的很有用!
    
                                 在spring中有个这样的标签 <context:component-scan  />,它可以用来自动扫描包, 但是如果在你打的jar包里要不勾选Add  directory entries,那么你这个jar包,就不能spring的jar包那样 可以被扫描到)
    
    Overwrite existing files without warning  没有警告的情况下覆盖现有的文件
    
    Options:的操作我喜欢都勾选
  • 相关阅读:
    SourceInsight中文字体
    Android Studio导入第三方类库的方法
    Unable to create Debug Bridge:Unable to start adb server:error:cannot parse version
    match_parent 、 fill_parent 、 wrap_content
    android:textAppearance
    AndroidManifest配置之uses-sdk
    从Github上下载了项目,导入Android Studio,gradle 报错,应该怎么修改
    Android Studio 使用Gradle多渠道打包
    Android Studio常用快捷键
    在一个form表单中根据不同按钮实现多个action事件
  • 原文地址:https://www.cnblogs.com/yanan7890/p/13433202.html
Copyright © 2011-2022 走看看