我正在使用带有弹簧轮廓的弹簧3.1来装载豆子.在我的应用程序上下文文件中,我加载了以下属性:
<context:property-placeholder order="1" location="classpath*:META-INF/spring/*_${spring.profiles.active}.properties" ignore-unresolvable="true"/>
Run Code Online (Sandbox Code Playgroud)
然后我使用属性值来加载数据源bean
<property name="driverClassName" value="${database.driverClassName}"/>
Run Code Online (Sandbox Code Playgroud)
它工作正常.当我添加几个属性占位符以便可以加载某些数据库表的属性时,问题就开始了.
这使用加载的属性引用
<bean id="configFactoryBean"
class="org.springmodules.commons.configuration.CommonsConfigurationFactoryBean">
<constructor-arg ref="globalSystemConfiguration"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
要添加到详细信息,这configFactoryBean将使用datasource从数据库加载属性.
当我这样做时,我有以下例外:
java.lang.ClassNotFoundException: ${database.driverClassName}
Run Code Online (Sandbox Code Playgroud)
我的分析是它试图datasource在从第一个上下文属性占位符解析属性之前加载.我可能错了.或者弹簧轮廓变量未正确解析.
任何人都可以帮我解决这个问题.
谢谢Akki
我正在尝试从Jenkins配置Sonarqube分析(使用Maven).我安装了Sonarqube 3.7.我配置了声纳jenkins插件,效果很好.我有Maven 3.0.3并且正在使用声纳maven插件2.1.
问题是 - 它试图执行目标,但要求org.codehaus.sonar:sonar-maven3-plugin:jar:3.7.我无法在任何地方找到这个罐子.在存储库中,我只能看到pom而不是jar
Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.1:sonar (default-cli) on project twister: Can not execute SonarQube analysis
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: Can not execute SonarQube analysis
at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:109)
at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:67)
at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:109)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... …Run Code Online (Sandbox Code Playgroud)