javac not finding another compiled class in current folder












0















I'm using OpenJDK11.
I have two Java files in the current folder, that are supposed to run together to be a JavaFX application.
One of them is called Main.java and runs the main window. Another is Alert.java, and is supposed to run an alternate window which is an alert type.
Now, I ran the following command:



javac -cp "c:projectsjavacurrentProject" --module-path "c:Program FilesJavajavafx-sdk-11.0.1lib" --add-modules=javafx.controls,javafx.fxml Alert.java Main.java


While Alert.java compiled just fine, Main.java could not import the Alert class and gave an error on "import Alert". I tried "import Alert.Alert" and "import currentProject.Alert" but still, it didn't work.
Also, I declared package "package currentProject" at the start of each file and it still gave an error.



What am I supposed to do to get it running? I already failed on installing JavaFX on all available IDEs, so I'm not going to use an IDE other than Atom. But how do I compile it properly?



more info -



file structure:



c->projects->java->economicManager->( Alert.java ,Main.java, financialManager.fxml, alert.fxml, Alert.class, Alert$Controller.class, Main.class [previously compiled version])



Alert.java:



package financialManager;

import javafx.stage.Stage;
import javafx.stage.Modality;
import javafx.scene.Scene;
import javafx.scene.Parent;

import javafx.scene.control.Button;
import java.util.Map;

public class Alert {

public Stage stage;
private Controler_Class controler;

public Alert(Parent root) {

Controler_Class clas = new Controler_Class(root);
this.controler = clas;

Scene scene = new Scene(root);
Stage stage = new Stage();

stage.initModality(Modality.APPLICATION_MODAL);
stage.setTitle("financial report");
stage.setScene(scene);

this.stage = stage;
stage.showAndWait();
}

private class Controler_Class{

Parent root;

public Controler_Class(Parent root){

}
}
}


Main.java:



package financialManager;

import Alert;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.Parent;

import javafx.scene.control.ListView;
import javafx.scene.control.SplitPane;
import javafx.scene.control.Button;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.VBox;

import java.util.Map;

public class Main extends Application{

@Override
public void start(Stage stage) throws Exception{

final int width = 300;
final int height = 450;

stage.setTitle("hello mofos");

FXMLLoader loader = new FXMLLoader(getClass().getResource("financialManager.fxml"));

Parent root = loader.load();
Scene scene = new Scene(root, width, height);

Map<String, Object> mapper = loader.getNamespace();
AnchorPane pane = (AnchorPane) mapper.get("splitpane1_anchorpane");

if(pane != null)
SplitPane.setResizableWithParent(pane, false);
else
System.out.println("it's null you idiot!");

Button btn = (Button) mapper.get("economicReport");

btn.setOnMouseClicked((event) -> {

FXMLLoader loader2 = new FXMLLoader(getClass().getResource("alert.fxml"));
Parent parent = loader2.load();
Alert alert = new Alert(parent);
});

/*
ChangeListener<Number> stageSizeListener = (observable, oldValue, newValue) ->
pane.setDividerPositions(0.20219435736677116);

stage.widthProperty().addListener(stageSizeListener);
stage.heightProperty().addListener(stageSizeListener);
*/

stage.setScene(scene);
stage.show();
}

public static void main(String args){

launch();
}
}









share|improve this question




















  • 1





    Can you maybe show your directory structure, as well as your source code?

    – skylerl
    Dec 31 '18 at 14:21











  • added to the question

    – blahh
    Jan 1 at 0:00
















0















I'm using OpenJDK11.
I have two Java files in the current folder, that are supposed to run together to be a JavaFX application.
One of them is called Main.java and runs the main window. Another is Alert.java, and is supposed to run an alternate window which is an alert type.
Now, I ran the following command:



javac -cp "c:projectsjavacurrentProject" --module-path "c:Program FilesJavajavafx-sdk-11.0.1lib" --add-modules=javafx.controls,javafx.fxml Alert.java Main.java


While Alert.java compiled just fine, Main.java could not import the Alert class and gave an error on "import Alert". I tried "import Alert.Alert" and "import currentProject.Alert" but still, it didn't work.
Also, I declared package "package currentProject" at the start of each file and it still gave an error.



What am I supposed to do to get it running? I already failed on installing JavaFX on all available IDEs, so I'm not going to use an IDE other than Atom. But how do I compile it properly?



more info -



file structure:



c->projects->java->economicManager->( Alert.java ,Main.java, financialManager.fxml, alert.fxml, Alert.class, Alert$Controller.class, Main.class [previously compiled version])



Alert.java:



package financialManager;

import javafx.stage.Stage;
import javafx.stage.Modality;
import javafx.scene.Scene;
import javafx.scene.Parent;

import javafx.scene.control.Button;
import java.util.Map;

public class Alert {

public Stage stage;
private Controler_Class controler;

public Alert(Parent root) {

Controler_Class clas = new Controler_Class(root);
this.controler = clas;

Scene scene = new Scene(root);
Stage stage = new Stage();

stage.initModality(Modality.APPLICATION_MODAL);
stage.setTitle("financial report");
stage.setScene(scene);

this.stage = stage;
stage.showAndWait();
}

private class Controler_Class{

Parent root;

public Controler_Class(Parent root){

}
}
}


Main.java:



package financialManager;

import Alert;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.Parent;

import javafx.scene.control.ListView;
import javafx.scene.control.SplitPane;
import javafx.scene.control.Button;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.VBox;

import java.util.Map;

public class Main extends Application{

@Override
public void start(Stage stage) throws Exception{

final int width = 300;
final int height = 450;

stage.setTitle("hello mofos");

FXMLLoader loader = new FXMLLoader(getClass().getResource("financialManager.fxml"));

Parent root = loader.load();
Scene scene = new Scene(root, width, height);

Map<String, Object> mapper = loader.getNamespace();
AnchorPane pane = (AnchorPane) mapper.get("splitpane1_anchorpane");

if(pane != null)
SplitPane.setResizableWithParent(pane, false);
else
System.out.println("it's null you idiot!");

Button btn = (Button) mapper.get("economicReport");

btn.setOnMouseClicked((event) -> {

FXMLLoader loader2 = new FXMLLoader(getClass().getResource("alert.fxml"));
Parent parent = loader2.load();
Alert alert = new Alert(parent);
});

/*
ChangeListener<Number> stageSizeListener = (observable, oldValue, newValue) ->
pane.setDividerPositions(0.20219435736677116);

stage.widthProperty().addListener(stageSizeListener);
stage.heightProperty().addListener(stageSizeListener);
*/

stage.setScene(scene);
stage.show();
}

public static void main(String args){

launch();
}
}









share|improve this question




















  • 1





    Can you maybe show your directory structure, as well as your source code?

    – skylerl
    Dec 31 '18 at 14:21











  • added to the question

    – blahh
    Jan 1 at 0:00














0












0








0








I'm using OpenJDK11.
I have two Java files in the current folder, that are supposed to run together to be a JavaFX application.
One of them is called Main.java and runs the main window. Another is Alert.java, and is supposed to run an alternate window which is an alert type.
Now, I ran the following command:



javac -cp "c:projectsjavacurrentProject" --module-path "c:Program FilesJavajavafx-sdk-11.0.1lib" --add-modules=javafx.controls,javafx.fxml Alert.java Main.java


While Alert.java compiled just fine, Main.java could not import the Alert class and gave an error on "import Alert". I tried "import Alert.Alert" and "import currentProject.Alert" but still, it didn't work.
Also, I declared package "package currentProject" at the start of each file and it still gave an error.



What am I supposed to do to get it running? I already failed on installing JavaFX on all available IDEs, so I'm not going to use an IDE other than Atom. But how do I compile it properly?



more info -



file structure:



c->projects->java->economicManager->( Alert.java ,Main.java, financialManager.fxml, alert.fxml, Alert.class, Alert$Controller.class, Main.class [previously compiled version])



Alert.java:



package financialManager;

import javafx.stage.Stage;
import javafx.stage.Modality;
import javafx.scene.Scene;
import javafx.scene.Parent;

import javafx.scene.control.Button;
import java.util.Map;

public class Alert {

public Stage stage;
private Controler_Class controler;

public Alert(Parent root) {

Controler_Class clas = new Controler_Class(root);
this.controler = clas;

Scene scene = new Scene(root);
Stage stage = new Stage();

stage.initModality(Modality.APPLICATION_MODAL);
stage.setTitle("financial report");
stage.setScene(scene);

this.stage = stage;
stage.showAndWait();
}

private class Controler_Class{

Parent root;

public Controler_Class(Parent root){

}
}
}


Main.java:



package financialManager;

import Alert;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.Parent;

import javafx.scene.control.ListView;
import javafx.scene.control.SplitPane;
import javafx.scene.control.Button;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.VBox;

import java.util.Map;

public class Main extends Application{

@Override
public void start(Stage stage) throws Exception{

final int width = 300;
final int height = 450;

stage.setTitle("hello mofos");

FXMLLoader loader = new FXMLLoader(getClass().getResource("financialManager.fxml"));

Parent root = loader.load();
Scene scene = new Scene(root, width, height);

Map<String, Object> mapper = loader.getNamespace();
AnchorPane pane = (AnchorPane) mapper.get("splitpane1_anchorpane");

if(pane != null)
SplitPane.setResizableWithParent(pane, false);
else
System.out.println("it's null you idiot!");

Button btn = (Button) mapper.get("economicReport");

btn.setOnMouseClicked((event) -> {

FXMLLoader loader2 = new FXMLLoader(getClass().getResource("alert.fxml"));
Parent parent = loader2.load();
Alert alert = new Alert(parent);
});

/*
ChangeListener<Number> stageSizeListener = (observable, oldValue, newValue) ->
pane.setDividerPositions(0.20219435736677116);

stage.widthProperty().addListener(stageSizeListener);
stage.heightProperty().addListener(stageSizeListener);
*/

stage.setScene(scene);
stage.show();
}

public static void main(String args){

launch();
}
}









share|improve this question
















I'm using OpenJDK11.
I have two Java files in the current folder, that are supposed to run together to be a JavaFX application.
One of them is called Main.java and runs the main window. Another is Alert.java, and is supposed to run an alternate window which is an alert type.
Now, I ran the following command:



javac -cp "c:projectsjavacurrentProject" --module-path "c:Program FilesJavajavafx-sdk-11.0.1lib" --add-modules=javafx.controls,javafx.fxml Alert.java Main.java


While Alert.java compiled just fine, Main.java could not import the Alert class and gave an error on "import Alert". I tried "import Alert.Alert" and "import currentProject.Alert" but still, it didn't work.
Also, I declared package "package currentProject" at the start of each file and it still gave an error.



What am I supposed to do to get it running? I already failed on installing JavaFX on all available IDEs, so I'm not going to use an IDE other than Atom. But how do I compile it properly?



more info -



file structure:



c->projects->java->economicManager->( Alert.java ,Main.java, financialManager.fxml, alert.fxml, Alert.class, Alert$Controller.class, Main.class [previously compiled version])



Alert.java:



package financialManager;

import javafx.stage.Stage;
import javafx.stage.Modality;
import javafx.scene.Scene;
import javafx.scene.Parent;

import javafx.scene.control.Button;
import java.util.Map;

public class Alert {

public Stage stage;
private Controler_Class controler;

public Alert(Parent root) {

Controler_Class clas = new Controler_Class(root);
this.controler = clas;

Scene scene = new Scene(root);
Stage stage = new Stage();

stage.initModality(Modality.APPLICATION_MODAL);
stage.setTitle("financial report");
stage.setScene(scene);

this.stage = stage;
stage.showAndWait();
}

private class Controler_Class{

Parent root;

public Controler_Class(Parent root){

}
}
}


Main.java:



package financialManager;

import Alert;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.Parent;

import javafx.scene.control.ListView;
import javafx.scene.control.SplitPane;
import javafx.scene.control.Button;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.VBox;

import java.util.Map;

public class Main extends Application{

@Override
public void start(Stage stage) throws Exception{

final int width = 300;
final int height = 450;

stage.setTitle("hello mofos");

FXMLLoader loader = new FXMLLoader(getClass().getResource("financialManager.fxml"));

Parent root = loader.load();
Scene scene = new Scene(root, width, height);

Map<String, Object> mapper = loader.getNamespace();
AnchorPane pane = (AnchorPane) mapper.get("splitpane1_anchorpane");

if(pane != null)
SplitPane.setResizableWithParent(pane, false);
else
System.out.println("it's null you idiot!");

Button btn = (Button) mapper.get("economicReport");

btn.setOnMouseClicked((event) -> {

FXMLLoader loader2 = new FXMLLoader(getClass().getResource("alert.fxml"));
Parent parent = loader2.load();
Alert alert = new Alert(parent);
});

/*
ChangeListener<Number> stageSizeListener = (observable, oldValue, newValue) ->
pane.setDividerPositions(0.20219435736677116);

stage.widthProperty().addListener(stageSizeListener);
stage.heightProperty().addListener(stageSizeListener);
*/

stage.setScene(scene);
stage.show();
}

public static void main(String args){

launch();
}
}






java javafx






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 31 '18 at 23:41







blahh

















asked Dec 31 '18 at 13:49









blahhblahh

359




359








  • 1





    Can you maybe show your directory structure, as well as your source code?

    – skylerl
    Dec 31 '18 at 14:21











  • added to the question

    – blahh
    Jan 1 at 0:00














  • 1





    Can you maybe show your directory structure, as well as your source code?

    – skylerl
    Dec 31 '18 at 14:21











  • added to the question

    – blahh
    Jan 1 at 0:00








1




1





Can you maybe show your directory structure, as well as your source code?

– skylerl
Dec 31 '18 at 14:21





Can you maybe show your directory structure, as well as your source code?

– skylerl
Dec 31 '18 at 14:21













added to the question

– blahh
Jan 1 at 0:00





added to the question

– blahh
Jan 1 at 0:00












1 Answer
1






active

oldest

votes


















0














I see that you are importing the Alert class wrongly. Your package is financialManager, so you should use it in the import line like this:



import financialManager.Alert;


About your issues with IDEs, I made JavaFX work fine with Eclipse and IntelliJ on OpenJDK 11 without any issues a few days ago - For OpenJDK you will need OpenJFX, and if you are interesting in some reading, this is the link from Oracle's blog on their plans for JavaFX.



Good luck!






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53988219%2fjavac-not-finding-another-compiled-class-in-current-folder%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    I see that you are importing the Alert class wrongly. Your package is financialManager, so you should use it in the import line like this:



    import financialManager.Alert;


    About your issues with IDEs, I made JavaFX work fine with Eclipse and IntelliJ on OpenJDK 11 without any issues a few days ago - For OpenJDK you will need OpenJFX, and if you are interesting in some reading, this is the link from Oracle's blog on their plans for JavaFX.



    Good luck!






    share|improve this answer




























      0














      I see that you are importing the Alert class wrongly. Your package is financialManager, so you should use it in the import line like this:



      import financialManager.Alert;


      About your issues with IDEs, I made JavaFX work fine with Eclipse and IntelliJ on OpenJDK 11 without any issues a few days ago - For OpenJDK you will need OpenJFX, and if you are interesting in some reading, this is the link from Oracle's blog on their plans for JavaFX.



      Good luck!






      share|improve this answer


























        0












        0








        0







        I see that you are importing the Alert class wrongly. Your package is financialManager, so you should use it in the import line like this:



        import financialManager.Alert;


        About your issues with IDEs, I made JavaFX work fine with Eclipse and IntelliJ on OpenJDK 11 without any issues a few days ago - For OpenJDK you will need OpenJFX, and if you are interesting in some reading, this is the link from Oracle's blog on their plans for JavaFX.



        Good luck!






        share|improve this answer













        I see that you are importing the Alert class wrongly. Your package is financialManager, so you should use it in the import line like this:



        import financialManager.Alert;


        About your issues with IDEs, I made JavaFX work fine with Eclipse and IntelliJ on OpenJDK 11 without any issues a few days ago - For OpenJDK you will need OpenJFX, and if you are interesting in some reading, this is the link from Oracle's blog on their plans for JavaFX.



        Good luck!







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 2 at 2:44









        RKrumRKrum

        8819




        8819
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53988219%2fjavac-not-finding-another-compiled-class-in-current-folder%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Mossoró

            Error while reading .h5 file using the rhdf5 package in R

            Pushsharp Apns notification error: 'InvalidToken'