无法处理配置类的导入候选项

我有一个Spring Boot项目,我可以在IntelliJ中成功运行,但是当我打包一个可执行jar时,我再也无法运行它了。 这是exception的堆栈跟踪: 18:13:55.254 [main] INFO oscaAnnotationConfigApplicationContext – Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@b3d7190: startup date [Wed Sep 07 18:13:55 CEST 2016]; root of context hierarchy 18:13:55.403 [main] WARN oscaAnnotationConfigApplicationContext – Exception encountered during context initialization – cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [el.dorado.App]; nested exception is java.lang.IllegalArgumentException: No auto configuration classes found […]

从ScheduledExecutorService中运行的任务本身中停止定期任务

在ScheduledExecutorService中运行时,是否有一种很好的方法可以阻止任务内部重复任务? 可以说,我有以下任务: Future f = scheduledExecutor.scheduleAtFixedRate(new Runnable() { int count = 0; public void run() { System.out.println(count++); if (count == 10) { // ??? cancel self } } }, 1, 1, TimeUnit.SECONDS); 从外面看,很容易通过f.cancel()取消,但是如何在指定的地方停止重复? (通过AtomicReference传递Future是不安全的,因为当scheduleAtFixedRate返回f迟到并且变量设置得太晚时有一个潜在的窗口,并且任务本身可能已经运行,在引用中看到null。)

你如何解释C#/ Java开发人员的C ++指针?

我是一名试图学习C ++的C#/ Java开发人员。 当我尝试学习指针的概念时,我很惊讶以前我必须处理这个概念。 如何仅使用.NET或Java开发人员熟悉的概念来解释指针? 我是否真的从来没有处理过这个问题,它只是隐藏在我身上,还是我一直都在使用它而没有把它当作它?

在maven-verify中没有自动检测JPA实体

如果我将persistence.xml放在src / test / META-INF文件夹中,则自动检测实体不能与maven-verify一起使用。 当persistence.xml位于src / main / META-INF文件夹中时,它可以正常工作。 在两种情况下都可以在eclipse中运行测试。 当persistence.xml位于src / test文件夹中时,有没有办法让autodetection用于maven-verify? persistence.xml中:

如何在Facelets页面中访问会话属性

我已经使用JSF和PrimeFaces实现了一个登录表单。 我在PrimeFaces展示网站上使用了这个例子 。 我有一个Facelets页面来显示dataTable。 现在我需要将上面的登录表单与此表页面集成。 所以我在LoginBean.java中添加了几行来处理会话属性。 if (username.equals(getUsername_db()) && password.equals(getPassword_db())) {//valid user and paward loggedIn = true; msg = new FacesMessage(FacesMessage.SEVERITY_INFO, “Welcome”, getUsername_db()); //new lines FacesContext context2 = FacesContext.getCurrentInstance(); HttpSession session = (HttpSession) context2.getExternalContext().getSession(true); session.setAttribute(“user”, username); //end of new lines … 如果用户没有登录,我需要隐藏dataTable中的列。现在我的问题是,如何在Facelets页面中访问会话属性?

为什么HashMap会重新生成密钥对象提供的哈希码?

我正在阅读Java 1.6 API提供的HashMap类的代码,无法完全理解以下操作的需要(在put和get方法的主体中找到): int hash = hash(key.hashCode()); 方法hash()具有以下主体: private static int hash(int h) { h ^= (h >>> 20) ^ (h >>> 12); return h ^ (h >>> 7) ^ (h >>> 4); } 这有效地通过对提供的哈希码执行位操作来重新计算哈希值。 即使API声明如下,我也无法理解这样做的必要性: 这很关键,因为HashMap使用两个幂的长度哈希表,否则会遇到低位不同的hashCodes的冲突。 我确实理解键值是存储在数据结构数组中的,并且该数组中项的索引位置由其哈希确定。 我无法理解的是这个函数如何为哈希分布添加任何值。

Java的Scanner vs String.split()vs StringTokenizer; 我应该用哪个?

我目前正在使用split()来扫描一个文件,其中每一行都有’~’分隔的字符串数。 我在某处读到Scanner可以用一个长文件做得更好,性能方面,所以我想考虑一下。 我的问题是:我是否必须创建两个Scanner实例? 也就是说,一个读取一行而另一个基于该行来获取分隔符的标记? 如果我必须这样做,我怀疑我是否会从使用它中获得任何好处。 也许我在这里错过了一些东西?

在OS X上以Java swing设置默认应用程序图标图像

我正在尝试为Jar文件设置图标图像: setIconImage(new ImageIcon(getClass().getResource(“logo.png”)).getImage()); 在Mac OS X 10.7.4中运行时出现以下错误: Jun 28 15:21:40 (my dhcp) java[73383] : CGContextGetCTM: invalid context 0x0 Jun 28 15:21:40 (my dhcp) java[73383] : CGContextSetBaseCTM: invalid context 0x0 Jun 28 15:21:40 (my dhcp) java[73383] : CGContextGetCTM: invalid context 0x0 Jun 28 15:21:40 (my dhcp) java[73383] : CGContextSetBaseCTM: invalid context 0x0 Jun 28 15:21:40 (my […]

如何查找生成DocumentEvent的源组件

是否有可能发现哪个项目生成了DocumentEvent? 像我可以用ActionListener做的事情: JTextField field = new JTextField(“”); field.addActionListener(actionListener); //inside ActionListener public void actionPerformed(ActionEvent arg0) { if (arg0.getSource() instanceof JTextField) //true } 我想对DocumentEvent做同样的事情,但似乎不会以同样的方式工作: JTextField field = new JTextField(“”); field.getDocument.addDocumentListener(documentListener); //inside documentListener public void insertUpdate(DocumentEvent){ if (arg0.getSource() instanceof JTextField) //false: class is javax.swing.text.PlainDocument if (arg0.getSource() instanceof MyComponent){ MyComponent comp = (MyComponent)arg0.getSource(); comp.callSpecificMethodUponMyComp(); } } 答案者应该考虑以下几点: 为了我的目的,知道生成事件的对象类型是不够的,但我需要在运行时引用它。 通常,事件是从swing对象的扩展(myComp […]

Spring引导外部配置属性文件

我有一个spring boot应用程序,我可以打包在一个我要部署到不同环境的战争中。 要自动执行此部署,可以更轻松地将配置文件外部化。 目前,src / main / resources中的application.properties文件一切正常。 然后我使用’mvn install’来构建可部署到tomcat的war。 但是我想使用一个不需要出现在mvn install上的.yml文件,但是在战争部署期间可以读取该文件,并且与我的战争相同或相同。 24.外部化配置显示spring boot将查找文件的位置和72.3更改应用程序外部属性的位置提供了有关如何配置此更多详细信息,但我只是不明白如何将其转换为我的代码。 我的应用程序类如下所示:package be.ugent.lca; Updated below 我需要在此文件中添加@PropertySource吗? 我如何参考某个相对路径? 我觉得它可能记录在那里作为大多数春季启动文档,但我只是不明白他们是如何做到这一点。 编辑 不确定这是否应该是一个单独的问题,但我认为它仍然是相关的。 设置os变量后,未找到yaml文件的错误消失了。 然而,当我没有应用程序.properties或.yml文件时,我仍然会再次遇到相同的错误。 应用现在看起来像这样: @Configuration **@PropertySource(“file:${application_home}/application.yml”)** @ComponentScan({“be.ugent.lca”,”be.ugent.sherpa.configuration”}) @EnableAutoConfiguration @EnableSpringDataWebSupport public class Application extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(Application.class, args); } application_home OS变量 $ echo $application_home C:\Masterproef\clones\la15-lca-web\rest-service\target 我的application.yml文件(它抱怨的部分): sherpa: package: base: […]