user1456559
user1456559

Reputation: 927

Cannot determine current directory

I am trying to run a .jar file that was created successfully in Netbeans and I am receiving the following error:

Error occurred during initialization of VM java.lang.Error: Properties init: Could not determine current working directory. at java.lang.System.initProperties(Native Method) at java.lang.System.initializeSystemClass(System.java:1070)

The command that I type to run the .jar is

java -jar "/path to the dist forlder/EOPPrototype.jar"

My classpath is as follows:

CLASSPATH=/opt/netbeans-7.1.2/ide/modules/ext/mysql-connector-java-5.1.13-     bin.jar:/h/USERS/local/pagola/NetBeansProjects/mylib/dist/mylib.jar:/h/USERS/local/pagola/NetBeansProjects/EOPPrototype/build/classes:.

What am i missing?

Upvotes: 82

Views: 97816

Answers (12)

shin
shin

Reputation: 1

You have to install default-jdk first ! sudo apt install default-jdk only version 11 does not set all the environment correctly in place of : sudo apt install openjdk-11-jdk

Upvotes: 0

user9427004
user9427004

Reputation: 381

Solution: cd to another directory and run that command again, that works for me.

See explanation here: https://bugs.openjdk.java.net/browse/JDK-8186434

Upvotes: 38

Kannan Ramamoorthy
Kannan Ramamoorthy

Reputation: 4190

I was having this error in my mac, when I start tomcat from my eclipse. After setting JAVA_HOME and restarting the eclipse, the error is fixed.

Upvotes: 0

Martin Ding
Martin Ding

Reputation: 159

maybe you did not config java environment on your workstation correctly

the following configurations were what I did in my mac

vi ~/.bash_profile

and add those in it

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH

replace

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home

with your jdk version and then run

source ~/.bash_profile

to use these config immediately then you can check by

java -version

Upvotes: 4

bhlowe
bhlowe

Reputation: 468

You may get this error if you issue "java -version" or other java command from a read-only directory. For example using openjdk 8 on centos (as non-root user):

cd /usr/bin
java -version

Error occurred during initialization of VM java.lang.Error: Properties init: Could not determine current working directory.

Upvotes: -1

I got this error on Mac OS X and this is a genuine error since the directory has vanished. The directory I was when I am executing the commands is <PROJECT DIR>\target.

The problem was I opened two terminals in the other terminal I ran mvn clean install and the target directory from PROJECT DIR got deleted and recreated.

My old terminal from where I was executing Java commands is not in a valid directory.

The file descriptor is invalid since the directory got deleted by Maven.

When I moved back to the parent directory and the changed back to the target directory, the java command started working correctly as expected.

Upvotes: 3

Eamonn Kenny
Eamonn Kenny

Reputation: 2062

Under CentOS, rhel, SL or SLC? Not an issue under debian/ubuntu.

I found you need to logout of the shell you are using and log back in. The environment is not set up initially correctly for the current shell. After login I see that: java -version will work.

Also ensure that /etc/alternatives/java actually points to something reasonable like:

ls -lisa /etc/alternatives/java
72645 0 lrwxrwxrwx. 1 root root 46 May 27 11:29 /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java

Upvotes: 2

fir3storm
fir3storm

Reputation: 131

In Fedora 21, I tried calling the "java -version" after an uninstall and it gave the above error. Close all the terminals and open them again and try.

Should work.

Upvotes: 13

Clive
Clive

Reputation: 435

I got the same error -

Error occurred during initialization of VM

java.lang.Error: Properties init: Could not determine current working directory.

by just doing 'java -version' (you would think it wouldn't need to bring up a virtual machine just to answer a simple question like 'what version are you?')

A higher up element (that between the slashes) of the directory path of the pwd had spaces in it. When I made the current working directory one which from / downward didn't have any spaces the 'java -version' command got a proper response.

I'm concluding they didn't account for directories with spaces when they programmed it. But that was version 1.7. I've now loaded version 8 so hopefully it has been corrected.

Upvotes: 3

Jacob
Jacob

Reputation: 41

Just now, i got the same error. because i use java to setreuid/setregid to apache:apache, when i change back to root:root, i changed gid before uid, the real result is root:apache. everything going wrong, such as the error say "java.lang.Error: Properties init: Could not determine current working directory. "

you can check it.

Upvotes: 0

asmaier
asmaier

Reputation: 11756

I saw the same error when I was trying to call java -version inside a directory, which I already had deleted from another terminal session. Of course in that case java could not determine the current working directory, simply because it didn't exist.

Upvotes: 217

John Mark
John Mark

Reputation: 2528

I was getting the same error message, but I'm not sure if it was for the same reason as I don't use Netbeans. I use my terminal and compile with ant.

I cd'd to a directory to run a javafile.class file. The file I want to run is part of a bigger package. The directory structure of the package looked something like this: a/b/c/javafile.class. The a, b, and c directories are all part of a larger package.

To run my javafile.class, I cd'd into a and ran the file from there: java b/c/javafile. After I made some changes and recompiled with my ant script, the directory I was in had been deleted and remade by ant. So, when I ran javafile.class again, I got the error you're getting.

I fixed my problem by cding out of the directories that are deleted and remade by ant and then running my javafile.class again.

Upvotes: 4

Related Questions