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:的操作我喜欢都勾选
  • 相关阅读:
    SQL Server索引进阶:第十二级,创建,修改,删除
    SQL Server索引进阶第十一篇:索引碎片分析与解决
    Object.create()和new object()和{}的区别
    vue 前后端分离nginx部署
    实现组件props双向绑定解决方案
    prop不同数据类型设置默认值
    vue + element ui 阻止表单输入框回车刷新页面
    Vue.js中 watch(深度监听)的最易懂的解释
    vue-resource和axios区别
    JS中 reduce() 的用法
  • 原文地址:https://www.cnblogs.com/yanan7890/p/13433202.html
Copyright © 2011-2022 走看看