Showcase compilation error #131

Closed
naimdjon opened this Issue Aug 13, 2014 · 9 comments

Comments

Projects
None yet
2 participants
@naimdjon

The showcase part results in compilation error:

[ERROR] /home/naimdjon/tmp/JRebirth/org.jrebirth.af/showcase/analyzer/src/main/java/org/jrebirth/af/showcase/analyzer/ui/editor/EditorView.java:[20,28] package javafx.scene.control does not exist
[ERROR] /home/naimdjon/tmp/JRebirth/org.jrebirth.af/showcase/analyzer/src/main/java/org/jrebirth/af/showcase/analyzer/ui/editor/EditorView.java:[21,27] package javafx.scene.layout does not exist
[ERROR] /home/naimdjon/tmp/JRebirth/org.jrebirth.af/showcase/analyzer/src/main/java/org/jrebirth/af/showcase/analyzer/ui/editor/EditorView.java:[22,26] package javafx.scene.paint does not exist
[ERROR] /home/naimdjon/tmp/JRebirth/org.jrebirth.af/showcase/analyzer/src/main/java/org/jrebirth/af/showcase/analyzer/ui/editor/EditorView.java:[23,26] package javafx.scene.shape does not exist
[ERROR] /home/naimdjon/tmp/JRebirth/org.jrebirth.af/showcase/analyzer/src/main/java/org/jrebirth/af/showcase/analyzer/ui/editor/EditorView.java:[36,64] cannot find symbol
  symbol: class ScrollPane
[ERROR] /home/naimdjon/tmp/JRebirth/org.jrebirth.af/showcase/analyzer/src/main/java/org/jrebirth/af/showcase/analyzer/ui/editor/EditorView.java:[39,13] cannot find symbol
  symbol:   class Pane
  location: class org.jrebirth.af.showcase.analyzer.ui.editor.EditorView
[ERROR] /home/naimdjon/tmp/JRebirth/org.jrebirth.af/showcase/analyzer/src/main/java/org/jrebirth/af/showcase/analyzer/ui/editor/EditorView.java:[81,12] cannot find symbol
  symbol:   class Pane
  location: class org.jrebirth.af.showcase.analyzer.ui.editor.EditorView
@sbordes

This comment has been minimized.

Show comment
Hide comment
@sbordes

sbordes Aug 13, 2014

Member

Could you give more details about what you are doing.
Are you launching a Maven build, a build into an IDE or other ?

The error seems to be related to the missing jfxrt.jar into the project, so I guess you are building a 7.x JRebirth with a Jdk 7 into your IDE that isn't Eclipse (because Eclipse settings are available on the repository).

Member

sbordes commented Aug 13, 2014

Could you give more details about what you are doing.
Are you launching a Maven build, a build into an IDE or other ?

The error seems to be related to the missing jfxrt.jar into the project, so I guess you are building a 7.x JRebirth with a Jdk 7 into your IDE that isn't Eclipse (because Eclipse settings are available on the repository).

@sbordes sbordes added the question label Aug 13, 2014

@naimdjon

This comment has been minimized.

Show comment
Hide comment
@naimdjon

naimdjon Aug 13, 2014

Building with JDK 7, from the command line with: mvn clean package.

As far as I understood, JRebirth was java 7 compatible.

Building with JDK 7, from the command line with: mvn clean package.

As far as I understood, JRebirth was java 7 compatible.

@sbordes

This comment has been minimized.

Show comment
Hide comment
@sbordes

sbordes Aug 13, 2014

Member

Yes JRebirth 7.x is compatible with Java 7 and 8 and JRebirth 8.x is only compatible with Java 8.

But as jfxrt.jar isn't into the Java 7 classpath some hack need to be done to generate Javadoc and perform unit tests.

you can find this into JRebirth organization Pom:
${java.home}/lib/rt.jar:${java.home}/lib/jfxrt.jar

Could you give me more details about what you are building (maven clean package on org.jrebirth.af but which version from which repo), currently builds are OK on both 7.x and 8.x branch (even if the ci server is offline, I will powered on it within few minutes)

But you need to point to JRebirth Organization parent pom deployed on maven Central

Member

sbordes commented Aug 13, 2014

Yes JRebirth 7.x is compatible with Java 7 and 8 and JRebirth 8.x is only compatible with Java 8.

But as jfxrt.jar isn't into the Java 7 classpath some hack need to be done to generate Javadoc and perform unit tests.

you can find this into JRebirth organization Pom:
${java.home}/lib/rt.jar:${java.home}/lib/jfxrt.jar

Could you give me more details about what you are building (maven clean package on org.jrebirth.af but which version from which repo), currently builds are OK on both 7.x and 8.x branch (even if the ci server is offline, I will powered on it within few minutes)

But you need to point to JRebirth Organization parent pom deployed on maven Central

@naimdjon

This comment has been minimized.

Show comment
Hide comment
@naimdjon

naimdjon Aug 13, 2014

Here is some more info:

~/tmp/JRebirth/org.jrebirth.af/showcase:
$ git remote -v
origin  https://github.com/JRebirth/JRebirth (fetch)
origin  https://github.com/JRebirth/JRebirth (push)
~/tmp/JRebirth/org.jrebirth.af/showcase:
$ git branch
* master
~/tmp/JRebirth/org.jrebirth.af/showcase:
$ git branch -a
* master
  remotes/origin/7.x
  remotes/origin/8.x
  remotes/origin/ControlsFX
  remotes/origin/Doc
  remotes/origin/HEAD -> origin/master
  remotes/origin/Workbench
  remotes/origin/master
~/tmp/JRebirth/org.jrebirth.af/showcase:
$ java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
~/tmp/JRebirth/org.jrebirth.af/showcase:
$ file /opt/java/7.0/jre/lib/jfxrt.jar
/opt/java/7.0/jre/lib/jfxrt.jar: Zip archive data, at least v1.0 to extract

Here is some more info:

~/tmp/JRebirth/org.jrebirth.af/showcase:
$ git remote -v
origin  https://github.com/JRebirth/JRebirth (fetch)
origin  https://github.com/JRebirth/JRebirth (push)
~/tmp/JRebirth/org.jrebirth.af/showcase:
$ git branch
* master
~/tmp/JRebirth/org.jrebirth.af/showcase:
$ git branch -a
* master
  remotes/origin/7.x
  remotes/origin/8.x
  remotes/origin/ControlsFX
  remotes/origin/Doc
  remotes/origin/HEAD -> origin/master
  remotes/origin/Workbench
  remotes/origin/master
~/tmp/JRebirth/org.jrebirth.af/showcase:
$ java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
~/tmp/JRebirth/org.jrebirth.af/showcase:
$ file /opt/java/7.0/jre/lib/jfxrt.jar
/opt/java/7.0/jre/lib/jfxrt.jar: Zip archive data, at least v1.0 to extract

@sbordes

This comment has been minimized.

Show comment
Hide comment
@sbordes

sbordes Aug 13, 2014

Member

OK I remember what I have made 2 years ago to solve this problem on Linux, I add custom bootclasspath argument to Maven to add jfxrt.jar (into Jenkins configuration).
I leave my linux configuration because JavaFX8 doesn't support MultiTouch with GTK.

The ParentPom had these lines

${java.home}/lib/rt.jar:${java.home}/lib/jfxrt.jar

that you can replace by a command argument (I will send you the exact argument later, need to ehck it into the CI server)

It was more cleaner than adding a system dependency because now with Java8 the jfxrt.jar is loaded by ext classloader.

Member

sbordes commented Aug 13, 2014

OK I remember what I have made 2 years ago to solve this problem on Linux, I add custom bootclasspath argument to Maven to add jfxrt.jar (into Jenkins configuration).
I leave my linux configuration because JavaFX8 doesn't support MultiTouch with GTK.

The ParentPom had these lines

${java.home}/lib/rt.jar:${java.home}/lib/jfxrt.jar

that you can replace by a command argument (I will send you the exact argument later, need to ehck it into the CI server)

It was more cleaner than adding a system dependency because now with Java8 the jfxrt.jar is loaded by ext classloader.

@sbordes

This comment has been minimized.

Show comment
Hide comment
@sbordes

sbordes Aug 13, 2014

Member

Use this command line argument : -Xbootclasspath/p:/usr/lib/jvm/default-java/jre/lib/jfxrt.jar (adapt with your path)

Member

sbordes commented Aug 13, 2014

Use this command line argument : -Xbootclasspath/p:/usr/lib/jvm/default-java/jre/lib/jfxrt.jar (adapt with your path)

naimdjon added a commit to naimdjon/JRebirth that referenced this issue Aug 13, 2014

@naimdjon

This comment has been minimized.

Show comment
Hide comment
@naimdjon

naimdjon Aug 13, 2014

Create a maven profile for Java 7 that includes the jfxrt.jar. See the pull request.

Create a maven profile for Java 7 that includes the jfxrt.jar. See the pull request.

@sbordes sbordes added this to the 7.7.3 milestone Aug 13, 2014

@sbordes sbordes self-assigned this Aug 13, 2014

@sbordes

This comment has been minimized.

Show comment
Hide comment
@sbordes

sbordes Aug 13, 2014

Member

Parent Pom should be updated to add the jdk7 profile

Member

sbordes commented Aug 13, 2014

Parent Pom should be updated to add the jdk7 profile

@sbordes

This comment has been minimized.

Show comment
Hide comment
@sbordes

sbordes Sep 1, 2014

Member

org.jrebirth.organization parent pom has been upgraded to 1.0.1 which manage the addition of jfxrt.jar when jdk7 is used

Member

sbordes commented Sep 1, 2014

org.jrebirth.organization parent pom has been upgraded to 1.0.1 which manage the addition of jfxrt.jar when jdk7 is used

@sbordes sbordes closed this Sep 1, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment