在我的应用程序中,我使用@Profile("prod")和注释bean @Profile("demo").第一个,正如你可以猜到:),用于连接到生产数据库的bean,第二个用于注释使用一些假数据库(HashMap或其他)的bean - 以加快开发速度.
我想要的是默认配置文件("prod"),如果它没有被" something-else " 覆盖,它将被使用.
完美将是我的web.xml:
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>prod</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
然后覆盖它,-Dspring.profiles.active="demo"以便我可以这样做:
mvn jetty:run -Dspring.profiles.active="demo".
Run Code Online (Sandbox Code Playgroud)
但遗憾的是,这不起作用.任何想法我怎么能得到那个?-Dspring.profiles.active="prod"不能在我的所有环境中进行设置.
我试图使用gradle任务作为"OS不可知的shell脚本".我在编写构建文件的逻辑时没有问题,但我希望能够从任何文件夹运行它.
我的第一次尝试是在路径上放置一个带有build.gradle文件的文件夹,然后尝试执行:
gradle myMask
Run Code Online (Sandbox Code Playgroud)
从不包含build.gradle的文件夹 - 但这不起作用.
我的下一次尝试是:
gradle -b /folder/containing/build.gradle myTask
Run Code Online (Sandbox Code Playgroud)
但这只是在某种程度上起作用.在我的任务中,我想找到CURRENT DIRECTORY中的所有文件.current - 意思不是包含build.gradle的那个,而是我正在执行的那个"gradle ....."
我试过了:
file(".")
Run Code Online (Sandbox Code Playgroud)
和
file("$projectDir")
Run Code Online (Sandbox Code Playgroud)
还有一些,但所有这些都指向包含构建脚本的文件夹,而不是我正在执行它的那个.
任何想法我该怎么做?
我试图将EJB注入到Spring(3.1.2)服务中(两者都在不同的 WAR中)两者都非常简单(为简化示例而移除了方法):
EJB:
@Remote
public interface MyBean {
}
@Singleton
public class MyBeanImpl implements MyBean{
}
Run Code Online (Sandbox Code Playgroud)
服务:
@Service
public class MyServiceImpl implements MyService{
}
Run Code Online (Sandbox Code Playgroud)
乍一看,事情很简单,但我试过:
@EJB(lookup = "java:global/ejbApp/MyBeanImpl!com.my.MyBean")
private MyBean myBean;
Run Code Online (Sandbox Code Playgroud)
它没有用.然后我也尝试过:
@EJB(mappedName = "java:global/ejbApp/MyBeanImpl!com.my.MyBean")
private MyBean myBean;
Run Code Online (Sandbox Code Playgroud)
和
@Resource(mappedName = "java:global/ejbApp/MyBeanImpl!com.my.MyBean")
private MyBean myBean;
Run Code Online (Sandbox Code Playgroud)
但都没有奏效.
我设法使用以下方法注入我的EJB:
<jee:jndi-lookup id="myBean" jndi-name="java:global/ejbApp/MyBeanImpl!com.my.MyBean" />
Run Code Online (Sandbox Code Playgroud)
在我的弹簧配置和服务中:
@Autowired
private MyBean myBean;
Run Code Online (Sandbox Code Playgroud)
但我真的不喜欢这个解决方案.我想在一些注释中使用我的JNDI路径,例如:
@EJB(lookup = MyBean.JNDI_NAME)
private MyBean myBean;
Run Code Online (Sandbox Code Playgroud) 我想要一个带有整个标题DIV可点击的手风琴,其中还包括一个不影响手风琴状态但在新的标签/窗口中打开外部链接的链接.
但如果我这样做,标题就会捕获我的链接上的点击事件,它只会切换手风琴状态.
示例代码:
<div class="accordion" id="accordion2">
<div class="accordion-group">
<div class="accordion-heading accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
<a href="http://www.google.com" target="_blank">
Collapsible Group Item #1
</a><br />
whole heder is<br />
clickable<br />
</div>
<div id="collapseOne" class="accordion-body collapse in">
<div class="accordion-inner">
Anim pariatur cliche...
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
是否有可能实施?