From: ian martins <ianxm@jhu.edu> To: Jarmo Hurri <jarmo.hurri@iki.fi> Cc: Org-Mode mailing list <emacs-orgmode@gnu.org> Subject: Re: [PATCH] ob-java Date: Sat, 14 Nov 2020 10:46:10 -0500 Message-ID: <CAC=rjb5rjJa5Tke=zOn8fyfrnU2k0wcGfR=B8+qwsxR70w9MXA@mail.gmail.com> (raw) In-Reply-To: <87mtzk9n30.fsf@iki.fi> On Sat, Nov 14, 2020 at 6:48 AM Jarmo Hurri <jarmo.hurri@iki.fi> wrote: > Jarmo Hurri <jarmo.hurri@iki.fi> writes: > > > It seems that you have changed some classloader settings in the new > > code. I have examples which used to work perfectly; now they still > > compile, but fail to run, throwing exception > > > > java.lang.NoClassDefFoundError > > I had some extra time today, so I took a look at ob-java.el. Unless > header argument dir is set, java is run in a temporary directory. So I > can get around this problem by setting header argument > > :dir "." > > which is nice, at least as a workaround. It looks like you quoted a previous email there but I never saw it. You're right that this is a change. I will revert the default behaviour. in the meantime you could do something like (setq org-babel-default-header-args:java (cons '(:dir . ".") org-babel-default-header-args:java)) in your init file after loading org to fix it everywhere. > I am not sure what the default behaviour should be. At the moment, > though, I do not think temporary dir is a good default, because by > default the program will then the "miss" all opened (data) files as > well. Right? I agree we should not change the default behavior, but I'm not sure about data files. The run directory shouldn't change, just the place where the files are written. when I run this block the java and classfiles are written to my babel temp dir but it prints out the path of the org file. #+begin_src java :results output silent System.out.println( System.getProperty("user.dir")); #+end_src > Perhaps all babel languages have a common policy here that I am not > aware of. I've not seen it documented, but the other babel languages I've used write to the temp dir. Java is the only one I'm aware of that defaulted to writing to the current directory. > But in any case it looks to me that the behaviour has changed now, so if > it is changed in the stable branch (I am running master), I think it > should be documented clearly (as an incompatible change). Perhaps it > already is documented like that. Yes, you're right that is a change. The current behavior is documented in ob-doc-java [1], but it isn't called out as a change in behavior. This is because I didn't notice it as a change, or I'd have not done it. These changes happened in part because I wrote ob-java in a circuitous way. I first wrote ob-haxe (for the language haxe) based on ob-C and ob-python and then made ob-java from it. When I wrote ob-haxe I wasn't thinking about maintaining ob-java behaviour, and it wasn't documented, and there weren't tests, so when I had a new ob-java it wasn't easy to see what might have changed. It is very helpful that you tested your existing source blocks and investigated changes. Thanks for reporting. I'll bring back the old default behavior. [1] https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-java.html#org932f876
next prev parent reply other threads:[~2020-11-14 15:47 UTC|newest] Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-10-05 12:35 ian martins 2020-10-05 13:23 ` ian martins 2020-10-09 11:15 ` ian martins 2020-10-20 18:28 ` John Herrlin 2020-10-20 19:17 ` John Herrlin 2020-10-21 2:37 ` ian martins 2020-10-21 5:59 ` John Herrlin 2020-10-21 12:47 ` ian martins 2020-10-21 13:54 ` John Herrlin 2020-10-22 12:23 ` ian martins 2020-10-22 12:56 ` John Herrlin 2020-10-24 17:05 ` Kyle Meyer 2020-10-25 2:10 ` ian martins 2020-10-25 2:40 ` Kyle Meyer 2020-10-25 19:36 ` ian martins 2020-11-05 16:29 ` Jarmo Hurri 2020-11-05 17:10 ` ian martins 2020-11-06 5:21 ` Jarmo Hurri 2020-11-06 23:00 ` ian martins 2020-11-09 14:06 ` Jarmo Hurri 2020-11-10 13:14 ` ian martins 2020-11-10 6:29 ` Jarmo Hurri 2020-11-14 11:47 ` Jarmo Hurri 2020-11-14 15:46 ` ian martins [this message] 2020-11-15 4:36 ` Jarmo Hurri 2020-11-17 12:07 ` ian martins 2020-12-14 5:55 ` Bastien 2020-11-11 7:45 ` Bastien 2020-10-24 11:58 ` Bastien 2020-10-25 0:30 ` ian martins 2020-10-28 9:13 ` Bastien 2020-10-31 11:03 ` ian martins
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: https://orgmode.org * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAC=rjb5rjJa5Tke=zOn8fyfrnU2k0wcGfR=B8+qwsxR70w9MXA@mail.gmail.com' \ --to=ianxm@jhu.edu \ --cc=emacs-orgmode@gnu.org \ --cc=jarmo.hurri@iki.fi \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Org-mode mailing list This inbox may be cloned and mirrored by anyone: git clone --mirror https://orgmode.org/list/0 list/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 list list/ https://orgmode.org/list \ emacs-orgmode@gnu.org public-inbox-index list Example config snippet for mirrors. Newsgroups are available over NNTP: nntp://news.yhetil.org/yhetil.emacs.orgmode nntp://news.gmane.io/gmane.emacs.orgmode AGPL code for this site: git clone https://public-inbox.org/public-inbox.git