В настоящее время я работаю над проектом java, который реализует некоторые функции javascript. Я могу получить свой код для чтения javascript, но окончательный файл javascript будет включать некоторые операции импорта. Когда я пытаюсь запустить программу с включенным импортом, я получаю сообщение об ошибке: Причина: jdk.nashorn.internal.runtime.ParserException:: 5: 7 Ожидается операнд, но найден импорт
Я использовал node.js чтобы импортировать все файлы Firebase, я не уверен, важно это или нет. Конечная цель - использовать функции firebase javascript внутри java. Спасибо за любую помощь
Javascript Файл ->
import * as firebase from "firebase/app";
import "firebase/auth";
import "firebase/firestore";
var authorize = new Object();
var firebaseConfig = {
//I don't want to share our keys but this part of the code works
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
firebase.analytics();
var db = firebase.firestore();
function login(email, password) {
print("calling login");
firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
if (errorMessage != "") {
print(errorMessage);
return errorMessage;
}else{
print("adsfdas");
return "";
};
});
}
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import java.io.FileReader;
import org.mozilla.javascript.*;
public class menu extends JFrame {
boolean isLogedin = false;
public static void main(String[] args) throws IOException, NoSuchMethodException, ScriptException {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
displayLogin();
} catch (NoSuchMethodException | IOException | ScriptException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
Invocable inv = (Invocable) engine;
try {
FileReader reader = new FileReader("filepath\\auth.js");
engine.eval(reader);
Object authorize = engine.get("authorize");
Object test = inv.invokeMethod(authorize, "login","test", "test");
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}