https://github.com/devinrsmith/ij-manifest-issue
https://github.com/devinrsmith/ij-manifest-issue
Last synced: 21 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/devinrsmith/ij-manifest-issue
- Owner: devinrsmith
- Created: 2020-04-15T19:48:37.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-04-15T20:28:34.000Z (about 6 years ago)
- Last Synced: 2025-01-26T09:12:03.135Z (over 1 year ago)
- Language: Java
- Size: 65.4 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### Gradle direct
The following shows the correct output of the program:
```sh
$ ./gradlew -q run
class com.devinrsmith.IJManifestIssueMain
class com.devinrsmith.IJManifestIssueMain$Inner
class org.joor.CompileOptions
```
### No shortening
It correctly runs with no shortening applied as an IJ configuration:

### Jar shortening
It fails to run with jar shortening applied as an IJ configuration:

with the output
```
Exception in thread "main" org.joor.ReflectException: Compilation error: /ShowMainImpl.java:5: error: package com.devinrsmith does not exist
System.out.println(com.devinrsmith.IJManifestIssueMain.class);
^
/ShowMainImpl.java:6: error: package com.devinrsmith.IJManifestIssueMain does not exist
System.out.println(com.devinrsmith.IJManifestIssueMain.Inner.class);
^
/ShowMainImpl.java:7: error: package org.joor does not exist
System.out.println(org.joor.CompileOptions.class);
^
3 errors
at org.joor.Compile.compile(Compile.java:100)
at org.joor.Reflect.compile(Reflect.java:102)
at com.devinrsmith.IJManifestIssueMain.main(IJManifestIssueMain.java:27)
```
### Issue?
It appears that IJ is creating an improper manifest file with `file:` prefixes on the classpath
parts. These `file:` prefixes seem to work "ok" in `java`, but fail in `javac`. Once these prefixes
are removed, the shortened command line program works. See [BAD.MF](BAD.MF) for an example of the
bad manifest.