我们在maven中构建了多个项目(我们将它们命名为A,B,C).项目A使用项目B的.jar,它使用项目C的.jar.
我正在修改所有A/B/C项目的代码,(A是MVC应用程序,B是业务服务,C是一些共享层).
问题是,在Eclipse/NetBeans中,我可以同时看到所有这些,并且修改它们很舒服.但在IDEA中,我必须打开IntelliJ IDEA的3个实例(或n个实例).
我错过了什么吗?使用IntelliJ时有更好的方法吗?对于我来说,这是IntelliJ的最大缺点.
我想在IntelliJ IDEA 10中弄清楚一件事:

这种设置可能吗?
我使用Weld作为CDI实现.当我有空的beans.xml时,我试图组装实例化Weld容器的对象图的集成测试运行良好src/test/java/META-INF/beans.xml.这是一个简单的测试:
public class WeldIntegrationTest {
@Test
public void testInjector() {
new Weld().initialize();
// shouldn't throw exception
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当我跑步时mvn clean install,我总是得到:Missing beans.xml file in META-INF!
我的根文件夹是"src"和"web",其中包含WEB-INF文件夹,但我也尝试使用默认的maven结构并将"web"重命名为"webapp"并将其移至src/main.我尝试了所有合理的位置:
- src/main/java/META-INF/beans.xml
- src/test/java/META-INF/beans.xml
- web/WEB-INF/beans.xml
- src/main/webapp/WEB-INF/beans.xml
- src/main/webapp/META-INF/beans.xml
- src/main/webapp/META-INF/(empty) and src/main/webapp/WEB-INF/beans.xml
Run Code Online (Sandbox Code Playgroud)
到目前为止没有任何作用:/
可能听起来很奇怪,但对于一些演示问题,这对我来说非常重要.
它应该是:
或者完全不同的东西?
我目前正在研究三种Vaadin应用程序,我真的觉得我想念一些东西.我之前曾经使用过Spring MVC,在这种情况下,体系结构清晰且分离,您可以向控制器注入服务,而不会将控制器耦合到UI等等.
现在在Vaadin那是不同的故事.所以,如果那里有任何Vaadin专家,请允许我问你几个问题:
问题1:
问题2:
问题3:
在我的代码转向Spaghetti之前,我想尽可能多地了解Vaadin的优秀设计,因此任何建议,经验和最佳实践都将受到赞赏.
我把所有的MySQL程序写成root@localhost:
CREATE DEFINER=`root`@`localhost` PROCEDURE `p_add_user`(...)
Run Code Online (Sandbox Code Playgroud)
麻烦的是,当部署到另一台服务器时,我必须root用当前用户替换并替换localhost为当前的IP,这很烦人.
有没有办法编写程序,以便想要使用我的数据库和程序的人不必修改每个程序的定义者?
嗨,我有RMI应用程序,现在我尝试从我的客户端调用服务器上的一些方法.我有以下代码:
public static void main(final String[] args) {
try {
//Setting the security manager
System.setSecurityManager(new RMISecurityManager());
IndicatorsService server = (IndicatorsService) Naming
.lookup("rmi://localhost/" + IndicatorsService.SERVICE_NAME);
DataProvider provider = new OHLCProvider(server);
server.registerOHLCProvider(provider);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
} catch (NotBoundException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
服务器已正确加载,但当我尝试调用时,server.registerOHLCProvider(provider);我收到以下错误:
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: sk.xorty.client.providers.OHLCProvider (no security manager: RMI class loader disabled)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:336) …Run Code Online (Sandbox Code Playgroud) 我目前正在使用Java与Play框架.我有JUnit测试,我试图用IntelliJ覆盖运行器测量覆盖率.
不幸的是,Play会生成一些垃圾类,IntelliJ会在报告中包含它们.有没有办法从覆盖率报告中排除某些模式?
我试图通过Java代码(Hibernate)从MySQL DB获得MD5加密传递.但我不能得到String或任何合理的Java类型.
我唯一得到的是这个无用的消息: java.lang.ClassCastException:[B不能转换为com.mysql.jdbc.Blob(或者我尝试转换的任何Java类型).
这是我的方法:
public void testCrypto() {
session.beginTransaction();
// creates native SQL query
// uses native MySQL's MD5 crypto
final Blob pass = (Blob) session.createSQLQuery("SELECT MD5('somePass')")
.list().get(0);
session.getTransaction().commit();
}
Run Code Online (Sandbox Code Playgroud)
这是完整的堆栈跟踪:
java.lang.ClassCastException: [B cannot be cast to com.mysql.jdbc.Blob
at domain.DatabaseTest.testCrypto(DatabaseTest.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) …Run Code Online (Sandbox Code Playgroud) 我对Eclipse自动填充代码的方式并不完全满意.我喜欢IntelliJ如何提示建议的方式(有人说它相当具有侵略性,但我喜欢这样).
所以我去了:Window - > Preferences - > Java - > Editor - > Content Assist并将延迟设置为0ms,自动激活触发器设置为ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.
现在Eclipse在自动完成时看起来非常快,但有一个非常讨厌的事情:它在每个空间命中完成变量的建议名称.
所以,当我想输入:
String joe = "Joe";
Run Code Online (Sandbox Code Playgroud)
日食快到足以毁掉它:
String joeString = ...;
Run Code Online (Sandbox Code Playgroud)
换句话说,按下:String joe[space]让joeString.我希望我很清楚enoguh,谢谢你的建议:)
java ×5
mysql ×2
cdi ×1
cryptography ×1
eclipse ×1
hibernate ×1
java-ee ×1
jboss-weld ×1
jdbc ×1
maven ×1
md5 ×1
networking ×1
remoting ×1
rmi ×1
vaadin ×1