Ich habe eine Anwendung in Java mit JavaFx und Hibernate erstellt. in meiner IDE funktioniert alles richtig. Aber wenn ich die Anwendung erstelle und die .jar-Datei starte, funktionieren alle Funktionen, die Hibernate verwenden, nicht.Build mit Hibernate funktioniert nicht (nur Hibernate)
ich erstellen Sie einen anderen testapp Sie meinen Code zu erhalten:
hier ist meine Hauptklasse:
package testapp;
import java.util.List;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
public class Testapp extends Application {
@Override
public void start(Stage primaryStage) {
ComboBox<Test> cmbtest=new ComboBox<>();
ObservableList<Test> l=FXCollections.observableArrayList(loadCmb());
StackPane root = new StackPane();
root.getChildren().add(cmbtest);
cmbtest.setItems(l);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
public List<Test> loadCmb(){
List<Test> list;
SessionFactory sf;
sf= NewHibernateUtil.getSessionFactory();
Session session = sf.openSession();
Query query=session.createQuery("FROM Test test");
list=query.list();
return list;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test?zeroDateTimeBehavior=convertToNull</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">****</property>
<mapping resource="testapp/Test.hbm.xml"/>
</session-factory>
</hibernate-configuration>
das ist mein NewHibernateUtil:
package testapp;
import java.io.File;
import javax.imageio.spi.ServiceRegistry;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
public class NewHibernateUtil {
private static SessionFactory sf;
private static ServiceRegistry serviceRegistrry;
static {
try {
File file=new File("src/testapp/hibernate.cfg.xml");
Configuration cfg= new Configuration().configure(file);
StandardServiceRegistryBuilder sb= new StandardServiceRegistryBuilder();
sb.applySettings(cfg.getProperties());
StandardServiceRegistry standardServiceRegistry= sb.build();
sf = cfg.buildSessionFactory(standardServiceRegistry);
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sf;
}
}
dies meine einzige ist Klasse, erstellt aus meiner Datenbank in MySql
package testapp;
// Generated 24/10/2016 01:53:10 PM by Hibernate Tools 4.3.1
/**
* Test generated by hbm2java
*/
public class Test implements java.io.Serializable {
private String name;
private Integer number;
public Test() {
}
public Test(String name) {
this.name = name;
}
public Test(String name, Integer number) {
this.name = name;
this.number = number;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public Integer getNumber() {
return this.number;
}
public void setNumber(Integer number) {
this.number = number;
}
}
mySql ist eine Tabelle mit zwei Spalten testtable: Name und Nummer
wenn ich dieses Programm in meiner IDE laufen die Anwendung korrekt ausgeführt wird, aber wenn ich die Anwendung zu erstellen, die .jar-Datei ist nicht Arbeiten.
hier ist die Ausgabe von meinem Build:
ant -f C:\\Users\\Dani-Fla-Mathi\\Documents\\NetBeansProjects\\testapp jfx-rebuild
init:
deps-clean:
Created dir: \testapp\build
Updating property file: \testapp\build\built-clean.properties
Deleting directory \testapp\build
clean:
init:
deps-jar:
Created dir: \testapp\build
Updating property file: \testapp\build\built-jar.properties
Created dir: \testapp\build\classes
Created dir: \testapp\build\empty
Created dir: \testapp\build\generated-sources\ap-source-output
Compiling 3 source files to \testapp\build\classes
Note:\testapp\src\testapp\Testapp.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Copying 3 files to \testapp\build\classes
compile:
Created dir: \testapp\dist
Copying 17 files to \testapp\dist\lib
Detected JavaFX Ant API version 1.3
Launching <fx:jar> task from C:\Program Files\Java\jdk1.8.0_05\jre\..\lib\ant-javafx.jar
Warning: From JDK7u25 the Codebase manifest attribute should be used to restrict JAR repurposing.
Please set manifest.custom.codebase property to override the current default non-secure value '*'.
Launching <fx:deploy> task from C:\Program Files\Java\jdk1.8.0_05\jre\..\lib\ant-javafx.jar
jfx-deployment-script:
jfx-deployment:
jar:
jfx-rebuild:
BUILD SUCCESSFUL (total time: 2 seconds)
lassen Sie es mich wissen, wenn Sie
Entschuldige, build * mit * – Clams
Wie kann jemand empfehlen, was Sie ohne Code, Fehlermeldungen fehlen? – DimaSan
Um diese Frage beantworten zu können, sind wesentlich mehr Informationen erforderlich (ohne nur Vermutungen über die vielen Dinge anzustellen, die falsch sein könnten). Bitte lies http://stackoverflow.com/help/how-to-ask und versuche deine Frage entsprechend den dortigen Richtlinien zu gestalten. –