Intellij IDEA 安装在 Windows 上。使用 maven 构建的 java 应用程序需要本机库(使用 JNI)并在 Ubuntu 上运行。
在 Windows 上使用 maven 和 git 很好。如何让 Intellij IDEA 使用 WSL 中的 JDK,以便我可以创建使用 WSL 的运行/调试配置?
java debugging intellij-idea windows-subsystem-for-linux wsl-2
我在Mac OS x maverick上运行android studio.我已经安装了64位JDK.当我运行模拟器时,我得到了消息
错误:异常构建过程终止:
错误:此Java实例不支持32位JVM.
请安装所需的版本.
在android工作室.
java -version
Run Code Online (Sandbox Code Playgroud)
回报
version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
Run Code Online (Sandbox Code Playgroud)
和
$JAVA_HOME
Run Code Online (Sandbox Code Playgroud)
指着
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
所以每件事似乎都很好.什么可能是错的?
我的Mac上还有一个旧的jdk1.6.删除它时,Android Studio要求再次安装Java 6.显然Android Studio需要编译Java 6(正如Andrew在此问题的评论中所证实的那样).希望它能安装x64版本,我让它安装Java 6.但是之后我仍然没有成功.我也找不到适用于Mac OS X 64 Bit的 Java 6 .有什么提示吗?
我遇到了这个问题我在所有存储库中都有一个重复的方法,例如这个方法.
function getAllOrderedBy($column) {
$qb = $this->createQueryBuilder('ac')
->select('ac')
->orderBy('ac.' . $column);
return $qb->getQuery()->getResult();
}
Run Code Online (Sandbox Code Playgroud)
我想在另一个超类OrderedRepository中提取它,并将其用作所有其他存储库的基类.
现在的问题是如何做到这一点?
我尝试在OrderedRepository的构造函数中实例化EntityRepository,就像这样,但也实例化了所有内部对象,这是其他东西所需要的,但它并没有真正起作用,我觉得这是错误的路径.
function __construct() {
parent::__construct();
$this->blabla_option = "instantiated";
}
Run Code Online (Sandbox Code Playgroud)
能否举一个正确扩展EntityRepository的例子,这个扩展类可以作为其他存储库的基类?
PS我是PHP的初学者,所以如果我因为不知不觉而伤害你的感情,请原谅.
考虑if条件需要评估数组或List的情况.一个简单的例子:检查所有元素是否都为真.但我正在寻找通用的方法来做到这一点
通常我会这样做:
boolean allTrue = true;
for (Boolean bool : bools){
if (!bool) {
allTrue = false;
break;
}
}
if (allTrue){
// do Something
}
Run Code Online (Sandbox Code Playgroud)
但现在我想将它隐藏在我的if条件下.我尝试使用Lambda Expressions,但它不起作用:
if (() -> {
for (Boolean bool : bools)
if (!bool)
return false;
return true;
}){
// do something
}
Run Code Online (Sandbox Code Playgroud)
如果这是有效的,我可以做一些更复杂的事情
if (() -> {
int number = 0;
for (MyObject myobject : myobjects)
if (myObject.getNumber() != 0)
numbers++;
if (numbers > 2)
return false;
return true;
}{
//do something …Run Code Online (Sandbox Code Playgroud) run-app在Intellij中运行时,groovy编译器会抱怨:
(...)
.Error
|
Compilation error: startup failed:
Compile error during compilation with javac.
(...).java:42: error: multi-catch statement is not supported in -source 1.6
} catch (ParserConfigurationException | SAXException | IOException e) {
^
(use -source 7 or higher to enable multi-catch statement)
1 error
1 error
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
(...)
Run Code Online (Sandbox Code Playgroud)
我已经尝试了所有可能影响它的设置:

在我的模型中,我有一个名为UserRepository. 另外我有一个UserFacade基本上将用户添加到存储库并由控制器访问的。该 repo@Autowired位于 Facade 中。当我想添加一个新用户时,我会收到存储库的 nullPointerException。
我的spring-servlet.xml包含所需的
<jpa:repositories base-package="project.user.repositories" />
而存储库是包含UserRepository.java. 它扩展了 CrudRepository:
@Repository
public interface UserRepository extends CrudRepository<User, Long> {
User findByUsername(String username);
}
Run Code Online (Sandbox Code Playgroud)
Facade.java 是包含存储库的对象:
public class UserFacade {
@Autowired
private static UserRepository userRepo;
private static Logger logger = LoggerFactory.getLogger(UserFacade.class);
public UserFacade(){} //Thought it might work if I add a constructor and call it?
public static User findByUsername(String username) {
logger.debug(username+userRepo); // prints SomeStringnull
return userRepo.findByUsername(username); //NullPointerException
} …Run Code Online (Sandbox Code Playgroud) java ×4
32bit-64bit ×1
android ×1
autowired ×1
debugging ×1
doctrine-orm ×1
grails ×1
groovy ×1
java-8 ×1
javac ×1
jvm ×1
lambda ×1
oop ×1
php ×1
spring ×1
spring-mvc ×1
symfony ×1
windows-subsystem-for-linux ×1
wsl-2 ×1