Why doesn't my jar file know about my classpath

I have created a simple java program to illustrate my point. My java program is called ABC.java and this is what is in it:
import java.lang.String;
public class ABC {
     public static void main(String[] args) {
          String myClassPath;
          myClassPath = System.getProperty("java.class.path");
          System.out.println("Running ABC\n");
          System.out.println(myClassPath);
          System.out.println("\nFinished ABC");
If I run java ABC.class I get my classpath printed out, but if I create a jar file I do not get a classpath printed out.
I am asking this because I have written a java app that uses a class from a third part jar file that is in my class path. If I run the .class version the app works as it should. If I run the jar version of the app I get a NoClassDefFoundError for the class in the third party jar file.
Since the third party jar file may be in a different path on diferent machines I can not hard code the classpath in my manifest file.
If I use the -classpath or -cp switch when I run the jar file my demo app still does not print the classpath as it should.
I hope this is just a bonehead error on my part.
Thanks in advance.

This suggestion would work well if I only needed to support one OS.
The problem is that under Windows the third party JAR would be in a
subdirectory under "C:\Program Files" but under Linux and Solaris the JAR
file might be in a subdirectory under opt. My relative path would be different
for each OS. It would be great if I did not have to have a JAR for each OS.
One of the great things about Java was supposed to be that you could have
one application that ran under several OSes.
I forgot to mention that for me example above I was using JDK 1.5.0_09.

Similar Messages

  • Why doesn't my pdf files that are on my iPad show up on my iMac or mac book pro

    Why doesn't my pdf files that are on my ipad show up on my imac or macbook?

    Have you copied them from your iPad ? If you are using the 'sync collections' setting then that doesn't copy items between devices/computers, all it does is if you move a book/PDF into a collection on one device/computer then if that book/PDF is also on your other device(s)/computer(s) then it will be moved into the same collection on them.
    If you connect the iPad to the computer that you sync it to and do File > Devices > Transfer Purchases then it should copy them over to your Mac's iTunes (that should copy PDFs and epubs that are in the iBooks app, not just actual ibooks) - in the iBooks app on your Mac you might then need to do File > Move Books From iTunes to move them over to it.

  • Why will my java.jar file not open

    Why will my java.jar file not open

    This is the iPod touch forum. Do you have a question concerning an iPod touch? The iPod touch does not run Java.
    If you have a new Mac you have to download the Java program to run Java on a Mac. It no longer comes with the iOS.

  • Jar File executes without the CLASSPATH being set???

    Hello all:
    I have been writing an application with JBuilder 4.0 Professional. I have finished the program and then let JBuilder create a JAR file. About the first 5 times I created the JAR file, I could never get it to execute from the command line. However, the last time I created the JAR file, I doubled clicked on it and it executed by using javaw. I had the CLASSPATH pointing to the file. I later removed the CLASSPATH variable, and the JAR file still executed. My MANIFEST.MF file includes the package name(not classpath) and the main class(which contains the public static void main method).
    I installed the JAR file and the JRE on another computer and it would not work. Can anyone give me some information??? Thanks in advance.

    probably this is due to the fact on your windows explorer under view - options, File Types tab you have the executable jar file pointing to a jdk.
    click on Executable Jar File and click edit then click on open in the Actions box (if this isn't here then this isn't the reason, sorry) and click edit. a pop up will appear with the java exe path - this is what the app is running from.
    gaz

  • Why so many dependent jar files?

    Crystal Report needs too many dependent jar file. What is the alternative way to minimize dependent jar files or club together as one jar?
    Thanks,
    Venkat

    If you're using the Java Reporting Component (JRC), then I recommend upgrading to the newest version - [Crystal Reports For Eclipse 2.0|https://www.sdn.sap.com/irj/boc/crystalreports-java], where the number of jars are significantly decreased.
    The reason why 11.5 had so many Jars was that the JRC and RAS and Enterprise SDKs shared libraries, and so the jar files were broken down along functional lines.
    Since CR4E 2.0 is a separate stream, the packaging is simpler.
    Jar file count dependencies is always a touchy thing - break it down along functional lines, and there's complaints that there's too many.  Consolidate to a few, and there's complaints that the files are too large, and why can't it be broken down into smaller jars?
    Sincerely,
    Ted Ueda

  • Why won't some .jar files open of my mac

    It is a MacBook Pro 15inch core duo from late 2008. It is running what ever software it came with. It opens a select few .jar files but the majority it will not open.
    I would like to solve this without having to update the software, so if you thibk you have a solution please share it.

    Most likely because the jar file was created using a later version of Java than you have on your system. So, you need to bring your version of Java up to date.

  • Classpath Issue - but JAR file is in the classpath

    I'm having an issue getting a JAVA Application Client to run and would welcome any suggestions or input to resolve this problem. I'm not a developer, just the builder/deployer of the applications. There are two developers looking at this problem too, but they are stumped too.
    It complains that it can't find sun/jdbc/rowset/CachedRowSet, which is contained in the rowset.jar - which is in the classpath. I've put all the supporting information below, if you need additional information please let me know and I'll provide it.
    ***** ERRORS FROM RUNNING SCRIPT BELOW *****
    *** NOT Using Verbose: ***
    Exception in thread "main" java.lang.NoClassDefFoundError: sun/jdbc/rowset/CachedRowSet
    *** Using Verbose (only included the output with the error): ***
    [Loading superclasses of com/actuate/schemas/SubmitJobResponse]
    [Loaded java.sql.SQLException from /usr/java130/jre/lib/rt.jar]
    [Loading superclasses of java/sql/SQLException]
    [Signaling in VM: java/lang/NoClassDefFoundError, message: sun/jdbc/rowset/CachedRowSet]
    Exception in thread "main" java.lang.NoClassDefFoundError: sun/jdbc/rowset/CachedRowSet[Loaded sun.i
    o.UnknownCharacterException from /usr/java130/jre/lib/rt.jar]
    [Loading superclasses of sun/io/UnknownCharacterException]
    [Preparing sun/io/UnknownCharacterException]
    ***** SCRIPT TO RUN THE JAVA COMMAND *****
    #!/usr/bin/ksh
    LIBDIR="/actuate/Mace/lib"
    JAVA_CP=""
    MAIN_JAR="MaceEXT.jar"
    JAVA_PATH="/usr/java130/jre/bin"
    JAVA_HOME="/usr/java130/jre"
    JAVA_FULLVERSION=`$JAVA_PATH/java -fullversion`
    JAVA_EXE=${JAVA_HOME}/bin/java
    PATH=$JAVA_PATH:$PATH
    export PATH
    export JAVA_HOME
    JAVA_CP="${LIBDIR}/sljcx.jar"
    JAVA_CP="${LIBDIR}/sljc.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/rowset.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/wsdl4j.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/tt-bytecode.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/servlet.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/saaj.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/log4j-1.2.4.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/jaxrpc.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/commons-logging.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/axis.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/ivjejb35.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/j2ee.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/activation.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/mail.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/ns.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/xmlParserAPIs.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/xercesImpl.jar":${JAVA_CP}
    JAVA_CP="$JAVA_HOME/lib/rt.jar":${JAVA_CP}
    echo ""
    echo "Classpath"
    echo $JAVA_CP
    echo ""
    echo "JAVA_Home"
    echo $JAVA_HOME
    echo ""
    echo "JAVA_EXE"
    echo $JAVA_EXE
    echo ""
    echo "JAVA_Path"
    echo $JAVA_PATH
    echo ""
    echo "JAVA FullVersion"
    echo $JAVA_FULLVERSION
    #$JAVA_EXE -cp $JAVA_CP -jar $MAIN_JAR -h dev -c adduser -u 000 -p ""
    $JAVA_EXE -verbose -cp $JAVA_CP -jar $MAIN_JAR -h dev -c adduser -u 000 -p ""
    ***** JAR -tvf OF ROWSET.JAR *****
    server105:/actuate/Mace/lib $ jar -tfv rowset.jar
    0 Tue Jun 13 19:45:42 EDT 2000 META-INF/
    66 Tue Jun 13 19:45:42 EDT 2000 META-INF/MANIFEST.MF
    0 Tue Jun 13 19:45:30 EDT 2000 sun/
    0 Tue Jun 13 19:45:30 EDT 2000 sun/jdbc/
    0 Tue Jun 13 19:45:42 EDT 2000 sun/jdbc/rowset/
    551 Tue Jun 13 19:45:30 EDT 2000 sun/jdbc/rowset/BaseRow.class
    9112 Tue Jun 13 19:45:32 EDT 2000 sun/jdbc/rowset/BaseRowSet.class
    35562 Tue Jun 13 19:45:36 EDT 2000 sun/jdbc/rowset/CachedRowSet.class
    597 Tue Jun 13 19:45:36 EDT 2000 sun/jdbc/rowset/ColInfo.class
    1290 Tue Jun 13 19:45:36 EDT 2000 sun/jdbc/rowset/InsertRow.class
    18442 Tue Jun 13 19:45:38 EDT 2000 sun/jdbc/rowset/JdbcRowSet.class
    2109 Tue Jun 13 19:45:38 EDT 2000 sun/jdbc/rowset/Row.class
    4489 Tue Jun 13 19:45:38 EDT 2000 sun/jdbc/rowset/RowSetMetaDataImpl.class
    4707 Tue Jun 13 19:45:38 EDT 2000 sun/jdbc/rowset/RowSetReaderImpl.class
    8270 Tue Jun 13 19:45:38 EDT 2000 sun/jdbc/rowset/RowSetWriterImpl.class
    4745 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/SQLInputImpl.class
    3287 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/SQLOutputImpl.class
    2326 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/SerialArray.class
    1560 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/SerialBlob.class
    1948 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/SerialClob.class
    592 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/SerialRef.class
    2419 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/SerialStruct.class
    1903 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/WebRowSet.class
    257 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/XmlReader.class
    15620 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/XmlReaderDocHandler.class
    2029 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/XmlReaderImpl.class
    258 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/XmlWriter.class
    9797 Tue Jun 13 19:45:42 EDT 2000 sun/jdbc/rowset/XmlWriterImpl.class
    ***** ECHO OF VARIABLES FROM SCRIPT *****
    Classpath
    /usr/java130/jre/lib/rt.jar:/actuate/Mace/lib/xercesImpl.jar:/actuate/Mace/lib/xmlParserAPIs.jar:/ac
    tuate/Mace/lib/ns.jar:/actuate/Mace/lib/mail.jar:/actuate/Mace/lib/activation.jar:/actuate/Mace/lib/
    j2ee.jar:/actuate/Mace/lib/ivjejb35.jar:/actuate/Mace/lib/axis.jar:/actuate/Mace/lib/commons-logging
    .jar:/actuate/Mace/lib/jaxrpc.jar:/actuate/Mace/lib/log4j-1.2.4.jar:/actuate/Mace/lib/saaj.jar:/actu
    ate/Mace/lib/servlet.jar:/actuate/Mace/lib/tt-bytecode.jar:/actuate/Mace/lib/wsdl4j.jar:/actuate/Mac
    e/lib/rowset.jar:/actuate/Mace/lib/sljc.jar:/actuate/Mace/lib/sljcx.jar
    JAVA_Home
    /usr/java130/jre
    JAVA_EXE
    /usr/java130/jre/bin/java
    JAVA_Path
    /usr/java130/jre/bin
    JAVA FullVersion
    java full version "J2RE 1.3.0 IBM build ca130-20020504"
    ***** DIRECTORY LISTING *****
    server105:/actuate/Mace $ ls -lat
    -rwxr-xr-x 1 actuate actuate 1673 Apr 04 09:11 go.sh
    -rw-r----- 1 actuate actuate 476699 Apr 03 12:37 MaceEXT.jar
    drwxr-xr-x 2 actuate actuate 4096 Apr 02 10:49 lib
    -rw-r----- 1 actuate actuate 1818 Mar 28 11:15 MaceConfig.xml
    server105:/actuate/Mace/lib $ ls -lat
    -rw-r----- 1 actuate actuate 32033 Apr 02 10:49 ivjejb35.jar
    -rw-r----- 1 actuate actuate 329096 Apr 02 10:49 j2ee.jar
    -rw-r----- 1 actuate actuate 374291 Apr 01 16:39 ns.jar
    -rw-r----- 1 actuate actuate 654326 Apr 01 16:31 sljc.jar
    -rw-r----- 1 actuate actuate 81987 Apr 01 16:31 sljcx.jar
    -rw-r----- 1 actuate actuate 54368 Mar 31 08:32 activation.jar
    -rw-r----- 1 actuate actuate 867459 Mar 31 08:32 axis.jar
    -rw-r----- 1 actuate actuate 24287 Mar 31 08:31 commons-logging.jar
    -rw-r----- 1 actuate actuate 32069 Mar 31 08:31 jaxrpc.jar
    -rw-r----- 1 actuate actuate 378778 Mar 31 08:31 log4j-1.2.4.jar
    -rw-r----- 1 actuate actuate 305414 Mar 31 08:31 mail.jar
    -rwxrwxrwx 1 actuate actuate 62388 Mar 31 08:31 rowset.jar
    -rw-r----- 1 actuate actuate 18468 Mar 31 08:31 saaj.jar
    -rw-r----- 1 actuate actuate 78350 Mar 31 08:31 servlet.jar
    -rw-r----- 1 actuate actuate 130773 Mar 31 08:31 tt-bytecode.jar
    -rw-r----- 1 actuate actuate 109356 Mar 31 08:31 wsdl4j.jar
    -rw-r----- 1 actuate actuate 933730 Mar 31 08:31 xercesImpl.jar
    -rw-r----- 1 actuate actuate 78440 Mar 31 08:31 xmlParserAPIs.jar

    All that script made my eyes glaze over, but it appears you are running your main class from an executable jar file. Is that correct? Executable jar files don't use the classpath. If you want them to refer to anything outside the executable jar, you have to put Class-Path entries in its manifest.

  • WebLogic 10.3.5 ClassNotFoundException (jar file is available in classpath)

    Hi, I'm facing a problem on WLS10.3.5 + Spring 3.1 + Hibernate 3.6.7 connecting to Apache Derby 10.8.1.2.
    The Spring ContextLoaderListener configured in the web.xml is failing since the the entityManagerFactory creation failed - since the derby datasource defined in WLS could not be created. Root cause - ClassNotFoundException by the weblogic.utils.classloaders.GenericClassLoader. I've tried adding derbyclient.jar in all locations - WLS server lib, domain lib, WEB-INF/lib, VM_HOME/jre/lib/ext, and also tried setting PRE_CLASSPATH. Also tried keeping a duplicate copy of the jar in all the locations at the same time. No luck.
    Caused By: java.lang.ClassNotFoundException: org.apache.derby.client.am.ConnectionCallbackInterface
    at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
    Truncated. see log file for complete stacktrace
    The datasource is created successfully from the console so there's no problem with the jar file. I could also load the above class using a test JSP from another bare WAR deployed into the same domain.
    I'm out of ideas and need some options to explore. btw, I specified in the weblogic.xml that the antlr.* classes should be taken from the application. Also tried this option for org.apache.derby.* classes.
    This looks like a buggy class loader problem. Any ideas or solution please?

    "The datasource is created successfully from the console so there's no problem with the jar file."
    Did you also test the data source when you created it?
    - when yes then WebLogic can indeed find the derbyclient.jar as the driver org.apache.derby.jdbc.ClientDriver is part of it.
    "I specified in the weblogic.xml that the antlr.* classes should be taken from the application. Also tried this option for org.apache.derby.* classes."
    Have you only defined a
    <prefer-application-packages>
        <package-name>antlr.*</package-name>
        <package-name>org.apache.derby.*</package-name>
    </prefer-application-packages>in weblogic.xml or did you also turn on prefer-web-inf-classes?
    It is smart to start from scratch and delete all the jar files in all the directories. To make the derbyclient.jar part of the WebLogic classpath you can do the following:
    - edit setDomainEnv: When you open setDomainEnv there is an entry like "SET THE CLASSPATH". Just before - if [ "${JAVA_VENDOR}" != "BEA" ] ; then
    you can put something like: CLASSPATH=${CLASSPATH}${CLASSPATHSEP}location/derbyclient.jar
    If the class must be available on every server in a cluster, you can edit the commEnv file (located in the ${WL_HOME}/common/bin directory)
    Search for the entry "set up WebLogic Server's class path". And below the WEBLOGIC_CLASSPATH you can add something like:
    WEBLOGIC_CLASSPATH=${WEBLOGIC_CLASSPATH}${CLASSPATHSEP}location/derbyclient.jar
    Hope this helps you a little

  • How to add jar files to applet's classpath

    hi everyone,
    i got an issue to add jar file's to applt's classpath,
    i looked around accross many resources but getting no solution on this.
    i have a commons-httpclient3.1.jar and i have to make it available it to a an applet class bundled in a jar file say myjar.jar
    how can i achieve it?
    any help would be much appreciated
    thanks

    That's a long time I haven't written applets, but if I remind well, we are able to set multilple jar in the classapth parameter, separated by semicolon.
    Look the page http://java.sun.com/docs/books/tutorial/deployment/applet/html.html
    Edited by: jswim on Dec 6, 2007 3:51 PM

  • Replacing jar files real-time in classpath

    Hi All
    I have a swing application and It runs perfectly. I have created a update manager that can download jar files for the application. This update manager downloads jar files and replaces the jar files that are currently in the class path. You could say the update is real-time.
    After the files are downloaded I get errors like class not found and other really strange Java errors. The class not found errors indicate that the application cant find classes that are in the downloaded jar file.
    Is there any way to prevent this from happening?
    Thanks in advance,
    Martyn Hiemstra

    I am currently just saving the downloaded files into the classpath directory, so in short I'm replacing them while the JVM is running.
    The problem is that my Java application is installed using install4j meaning that the application is started as a .exe file. The problem is that I would need to create an external application to update the files but the external programme would have not idea where to put the newly downloaded files. T o overcome this all I want to create an updater within my own application.
    Is there a way to shutdown real-time loading of jar files in the class path? That would solve the problem since the newly loaded jar files arent detected until the application is started again.

  • Why doesn't Search across files work in web dynpro perspective?

    Hello,
    I rely on the Files Tab of the Search popup a lot to search for occurence of text in files.
    So far, I've been doing all J2EE development and the Search functionality works great in the J2EE perspective. What I do is select the Development Component (DC) in Package explorer view and then bring up the search box. On there I select File tab and the "selected resource" radio button. I leave the File Name patterns as "*" so it'll search all files.
    However, when I try that in the Web Dynpro perspective it doesn't find any hits. I know I can do a search across the whole workspace but that'll return too many hits in other DCs.
    Anyone have an idea how to do this in Web Dynpro perspective?

    I remember that I once opened an OSS message on this issue. What version has your IDE?
    Armin

  • Why doesn't my .AVi file import into iMovies

    I cannot get iMovies to recognise my .AVI files (from my Samsung ST50).
    I can download the files from my camera to my hard drive (so the computer recognises them), and I can play them via Quicktime, so I know they work. But I can't import the .AVI files into iMovies. It seems to process the video when I go to 'Import'>'Movies'...- then nothing appears. I just get a 'No Matching Video' message in the event folder.
    However my previous camera (an old Pentax Optio S40) produced .AVI's which I can import into iMovies. Are all AVI's not the same? Or is it a setting in my new camera (I'm not too tech savvy!).

    Hi Rocco,
    Looks like we missed this post when you first asked. Sorry about that.
    What message are you receiving when you try to print? What version of Windows do you have installed?  If you're running Win7, you may be facing this issue: http://helpx.adobe.com/acrobat-com/kb/createpdf-desktop-printer-windows-7.html
    -David

  • Why doesn't the input file dialog prompt once I attach it to a device?

    For my project I am require to move a 3-axis robot from a list of set co-ordinates to either cut into/draw a picture. The only way I can thnk of doing this is by reading the co-ordinates from a spread sheet and timing it to read the co-ordinates and send the information to the straight-line move function (Softmotion).
    The problem occurs once I try to run the program while it's connected to the devices (motors). The file dialog prompt no longer shows up and Error 43 shows up right away. I traced the problem to the read from spread sheet vi, but I am not sure what to do because it is a standard function in labview.
    If you could take a look and give me some input it would be greatly appriciated, I've been learning labview on my own for about a month so if you can please use simple explinations.
    Solved!
    Go to Solution.
    Attachments:
    3-Degrees of Freedom Cartesian Robot.lvproj ‏15 KB
    Multiple Position Movement_6.vi ‏128 KB

    Thanks for the help so far, so I did as you said and added a set path for the program to retreive the file from. I've tested the program by running it in my computer and the file reads properly so my assume is the file is being located and data is taken properly.
    But I still run into the same error when I run it in cRio. I'm still being told labview cannot locate the file.
    Attachments:
    3-Degrees of Freedom Cartesian Robot.lvproj ‏20 KB
    Multiple Position Movement_9.vi ‏76 KB
    Error 7.png ‏107 KB

  • Why doesn't my dock file headers transfer to pages?

    when I try to load my docx files, the letter head shows up on the viewer but when I load it the header is missing.

    Hi Rocco,
    Looks like we missed this post when you first asked. Sorry about that.
    What message are you receiving when you try to print? What version of Windows do you have installed?  If you're running Win7, you may be facing this issue: http://helpx.adobe.com/acrobat-com/kb/createpdf-desktop-printer-windows-7.html
    -David

  • Why Doesn't the Acrobat File Toolbar Have a "Save As" Button?

    One of the most frequently used functions in Acrobat is located under the File menu where you can select "Save As" to select from a number of different file formats and then save the file in a specified folder.  The File Toolbar includes a "Save" icon/button that saves only a pdf formatted file to your Documents folder (or whichever folder you specify in Preferences) instead of to whatever specific folder you might want to file that particular document.  Another problem is that when you receive a pdf document by email or download it from the internet, it usually comes with a file name that you wouldn't want to use for the file.  Once the file is open, you'll want to rename it and save it somewhere.  However, if you have not changed the document in any way like editing or commenting, the only applicable icon on the File Toolbar, the Save button, is greyed out and can't be used until you alter the document.
    As such, the easy access to the "Save" button on the File Toolbar is wasted in that it will rarely be used when it's not greyed out, and when it might be used before any editing or commenting, it remains greyed out and inaccessible.  My request is to make an Icon or even just the label for "Save As" available for selection to go on the File Toolbar where it could be easily accessed.  Also, let the user decide if he wants to do a save before altering a document, skip the greying out of the buttons, make them always available for use.

    Unfortunately it's not a realistic possibility, because the Save As menu has two sub-levels across several nodes. A drop-down button can't handle that.

Maybe you are looking for