in reply to Re^3: Inline::Java Usage: _Inline/ directory creation
in thread Inline::Java Usage: _Inline/ directory creation

Below is the code in my test script.
use Inline Java => "STUDY", STUDY => [], AUTOSTUDY => 1, STARTUP_DELAY => 40, PORT => 14567, JNI => 1, EXTRA_JAVA_ARGS => '-Xmx800m', DIRECTORY => "/u/narlab/InlineLib/"; use Inline::Java qw(study_classes cast caught); use Inline Java => <<'EOJ'; public class Test { public static void init() { System.out.println("test"); } } EOJ my $t = Test->new(); $t->init();

Unix output

narlab@vnc3.hyd:/u/narlab/InlineLib> ls -la total 32 drwxr-sr-x 3 narlab narlab 4096 May 14 15:37 . drwxr-sr-x 107 narlab narlab 24576 May 14 15:21 .. drwxr-sr-x 2 narlab narlab 4096 May 14 15:19 code narlab@vnc3.hyd:/u/narlab/InlineLib/code> ls -la total 20 drwxr-sr-x 2 narlab narlab 4096 May 14 15:19 . drwxr-sr-x 3 narlab narlab 4096 May 14 15:37 .. -rwxr-xr-x 1 narlab narlab 797 May 14 15:08 test.pl -rwxr-xr-x 1 narlab narlab 759 May 14 15:10 test1.pl -rwxr-xr-x 1 narlab narlab 525 May 14 15:11 test2.pl narlab@vnc3.hyd:/u/narlab/InlineLib/code> perl test2.pl test narlab@vnc3.hyd:/u/narlab/InlineLib/code> ls -la total 24 drwxr-sr-x 3 narlab narlab 4096 May 14 15:39 . drwxr-sr-x 5 narlab narlab 4096 May 14 15:39 .. drwxrwsr-x 4 narlab narlab 4096 May 14 15:39 _Inline -rwxr-xr-x 1 narlab narlab 797 May 14 15:08 test.pl -rwxr-xr-x 1 narlab narlab 759 May 14 15:10 test1.pl -rwxr-xr-x 1 narlab narlab 525 May 14 15:11 test2.pl narlab@vnc3.hyd:/u/narlab/InlineLib> ls -la total 44 drwxr-sr-x 5 narlab narlab 4096 May 14 15:39 . drwxr-sr-x 107 narlab narlab 24576 May 14 15:21 .. drwxrwsr-x 2 narlab narlab 4096 May 14 15:39 build drwxr-sr-x 3 narlab narlab 4096 May 14 15:39 code -rw-rw-r-- 1 narlab narlab 683 May 14 15:39 config drwxrwsr-x 3 narlab narlab 4096 May 14 15:39 lib

Replies are listed 'Best First'.
Re^5: Inline::Java Usage: _Inline/ directory creation
by syphilis (Archbishop) on May 14, 2012 at 11:18 UTC
    Yes, that doesn't look right. It's as though it just ignores the DIRECTORY setting completely.

    One would expect that if DIRECTORY was not a valid option there, then the script would croak (or at least complain) with a message that tells you so ... but maybe Inline::Java doesn't do that.
    What happens if you replace "DIRECTORY" with "RUBBISH" in your script. Does it then complain that RUBBISH is an unknown option ?

    Does it work as intended if you rewrite the script as:
    use Inline Config => DIRECTORY => "/u/narlab/InlineLib/"; use Inline Java => "STUDY", STUDY => [], AUTOSTUDY => 1, STARTUP_DELAY => 40, PORT => 14567, JNI => 1, EXTRA_JAVA_ARGS => '-Xmx800m'; use Inline::Java qw(study_classes cast caught); use Inline Java => <<'EOJ'; public class Test { public static void init() { System.out.println("test"); } } EOJ my $t = Test->new(); $t->init();
    UPDATE: You could also try use warnings; and see if that provides any useful diagnostics as to why DIRECTORY is being ignored.

    Cheers,
    Rob

      I have used use warnings, but didn't get any info on why DIRECTORY is being ignored.

      The alternate(below one) you suggested is working as expected. Thanks

      use Inline Config => DIRECTORY => "/u/narlab/InlineLib/";
        I have used use warnings, but didn't get any info on why DIRECTORY is being ignored

        Thanks for checking.
        I'll raise this on the Inline mailing list and see what the Inline::Java author wants to do about it - and whether there's something Inline should be doing differently.

        I'll update this thread with the outcome ... iff there *is* an outcome :-)

        Cheers,
        Rob