2

Is there an easier way to get the project name rather than parsing the path to the execution directory? JavaSE-1.6

8
  • 6
    What's a "project name" to Java? That's usually managed by an IDE, and has nothing to do with Java itself. Commented Oct 10, 2011 at 23:30
  • how do you define project name? Commented Oct 10, 2011 at 23:31
  • Are you looking for System.getProperty("user.dir")? Commented Oct 10, 2011 at 23:31
  • Java doesn't have anything like a "project". Are you referring to IDE projects (e.g. projects in Eclipse, NetBeans or whatever you're using)? Commented Oct 10, 2011 at 23:32
  • in non-static context, you could call this.getClass().getPackage(); to get the package name. Maybe that'll help. Commented Oct 10, 2011 at 23:32

2 Answers 2

3

Ah OK. I'm working with Eclipse. There it's called project name and it's the string of the folder which contains the whole application.

Firstly, this is an IDE-specific concept. Java (in general) has no concept of a project.

Second, it is probably not a good idea to make a program depend on the name of the Eclipse project. That will cause problems if you ever try to run your program independently of Eclipse and the build environment.

Sign up to request clarification or add additional context in comments.

Comments

2

If you are making use of a jar archive file for your application and ant builds you can do the following;

  1. You can have the ant build file set a value (Project-name) in the MANIFEST.MF file, excample;

    <manifest file="${basedir}\resources\jar\META-INF\MANIFEST.MF">
        <attribute name="Manifest-Version" value="1.0" />
        <attribute name="Version" value="${release.version}" />
        <attribute name="Company" value="S1" />
        <attribute name="Project" value="<project_name>" />
        <attribute name="Java-Version" value="1.5" />
    </manifest>
</target>

<target name="dist_jar" depends="create_manifest">
    <delete file="${basedir}\build\jar\${jar.name}" />

    <!--Create the JAR for the build-->

    <jar jarfile="${basedir}\resources\jar\${jar.name}" 
        manifest="${basedir}\resources\jar\META-INF\MANIFEST.MF" 
        basedir="${jar.classes}" />
</target>
  1. Read the Project name from the MANIFEST.MF. See Read Manifest from Java code.

3 Comments

Hmmm ... is that the Eclipse project name, or the project name from the Ant build.xml file?
I just made it project name as an example. The closest thing I got to retrieving the project name from the .project eclipse file is: blog.vizio360.co.uk/2009/11/…
Yo can also strip the ${basedir} property. See stackoverflow.com/questions/2454128/…

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.