Apache Derby di db-derby-10.9.1.0-src/Eclipse 4.2.1 (Juno)/Java 7
Una specie di fix. Ha bisogno di più ricerche ma questo funzionerà.
Riferimenti:
db-derby-10.9.1.0-src/BUILDING.html
db-derby-10.8.1.2-src/plugins/eclipse/Readme.txt
Scarica l'Apache Derby fonte zip .
Estrarre lo zip.
Passare alla directory di origine.
db-derby-10.9.1.0-src
Eseguire i seguenti target di formica.
formica -quiet clobber
formica -quiet buildsource
formica buildjars -Tranquillo
costruire il plugin nucleo.
plug formica
Ora dovreste avere un file derby_core_plugin_10.9.1.zip nella directory db-derby-10.9.1.0-src/barattoli/sane.
Nota: l'IDE Eclipse non dovrebbe essere in esecuzione. Estrai il plug-in derby core creato dall'attività plug-in ant antispam e copia il contenuto nella directory dei plugin di Eclipse.
Eseguire Eclipse.
Importare org.apache.derby.ui dall'albero di origine.
(Importa> Generale> progetti esistenti nello spazio di lavoro)
Aprire il file plugin.xml
Nella scheda Panoramica, lievitare il numero di versione diciamo 1.1.4.
Salvare il file.
Il bug (s) sono in ...
1.) pacchetto org.apache.derby.ui.popup.actions.AddDerbyNature.java
2.) pacchetto org.apache.derby.ui.popup .actions.RemoveDerbyNature.java
Dove il metodo .setStatus viene chiamato in queste due unità.
Nota: (dal javadoc di ApplicationWindow)
vuoto org.eclipse.jface.window.ApplicationWindow.setStatus (String message)
Imposta o cancella il messaggio visualizzato in questo la riga di stato della finestra (se ha> uno). Questo metodo non ha effetto se la finestra non ha una riga di stato.
Parametri:
messaggio il messaggio di stato, o nulli per cancellarlo
Quindi supponiamo che l'IDE non ha una linea di stato, in modo da questa chiamata non ha effetto in base al doc Java.
Commenting out these method calls from:
AddDerbyNature.java
//((ApplicationWindow) window).setStatus(Messages.ADDING_NATURE);
//((ApplicationWindow) window).setStatus(Messages.DERBY_NATURE_ADDED);
RemoveDerbyNature.java
//((ApplicationWindow)window).setStatus(Messages.REMOVING_NATURE);
//((ApplicationWindow)window).setStatus(Messages.DERBY_NATURE_REMOVED);
Test (s):
Esegui come Eclipse Application.
Creare un progetto. Forse chiamalo "org.apache.derby.ui.test".
Fare clic destro sul progetto/Selezionare Aggiungi Apache Derby nature
Nessun errore.
Fare clic destro sul progetto/selezionare Rimuovi Apache Derby nature
Nessun errore.
Aggiungere di nuovo la natura per testare le altre voci di menu.
fare clic destro sul progetto/Selezionate Aggiungi Apache Derby natura
Fare clic destro sul progetto/Selezionare Start Derby Network Server
Nessun errore, è stato avviato server.
Dal log della console ... dom 27 gen. 17:51:29 EST 2013: gestore sicurezza installato utilizzando la politica di sicurezza del server di base. Dom 27 Gen 17:51:29 EST 2013: Apache Derby Network Server - 10.9.1.0 - (directory sotto controllo di versione) avviato e pronto ad accettare connessioni sulla porta 1527
Nota: Non sono sicuro che cosa significa il messaggio di directory sotto controllo di versione
Fare clic destro sul progetto/selezionare Arresta il server di rete Derby
Nessun errore, il server è stato arrestato.
Dom 27 Gen 17:53:32 EST 2013: Apache Derby Network Server - 10.9.1.0 - (directory sotto controllo di versione) di spegnimento
Avviare il server di back up ...
Fare clic destro sul progetto/Selezionare Start Derby Network Server
creare una cartella sql.
creare un file test.sql
il mio file di prova SQL.
connect 'jdbc:derby://localhost:1527/TESTDB;create=true;user=test;password=test;';
-- drop User Indexes - ignore error if first time creating
drop index UserNameIdx1;
-- drop the table if it exists - ignore error if first time creating
drop table TEST_USER;
-- create the table
create table TEST_USER (
ID integer generated by default as identity,
USER_NAME varchar(255) not null,
FIRST_NAME varchar(255),
LAST_NAME varchar(255),
PASSWORD varchar(255),
ENABLED integer,
CREATED_STAMP timestamp,
CREATED_TX_STAMP timestamp,
LAST_UPDATED_STAMP timestamp,
LAST_UPDATED_TX_STAMP timestamp,
constraint TEST_USER_PK primary key (ID)
);
-- insert some data -- oops --- will mess with the ID generator, see the alter table restart line below.
insert into TEST_USER values(0, 'admin','admin','admin','admin',1,'2013-01-18 12:00:00.000','2013-01-18 12:00:00.000','2013-01-18 12:00:00.000','2013-01-18 12:00:00.000');
-- make the USER_NAME unique
create unique index UserNameIdx1 on TEST_USER(USER_NAME);
-- reset the generator
alter table TEST_USER alter column ID restart with 1;
clic destro sul file> Apache Derby> Esegui script SQL utilizzando 'ij'
Refesh il progetti di lavoro, ora ci dovrebbe essere una cartella TESTDB.
Il database è stato creato. Ok.
Creare un file zip.
clic destro del mouse sul progetto> Esporta
Cliccare su plug-in per lo sviluppo> Deplyable plug-in e frammenti.
Destinazione Tab file di
archivio
/derby_ui_plugin_1.1.4-fix.zip
Scheda Opzioni
plugin Deseleziona pacchetto come singoli archivi JAR
fare clic su Fine.
Chiudi/Esci dall'istanza di test.
Exit Eclipse.
Estrai lo zip appena creato.
Copia il suo contenuto nella directory plugins nella directory dei plugin Eclipse (Juno).
Riavvia Eclipse. Crea un nuovo progetto.
Dovresti essere in grado di installare una natura Apache Derby (10.9.1) sui tuoi progetti.
Nota: se lo hai creato con Java 7, non aspettarti che funzioni per una versione JVM minore.
Grazie per il suggerimento con la comunità Derby, ora ho trovato qualcosa di utile - anche se non è il risultato che mi aspettavo ... [link] (https://issues.apache.org/jira/browse/DERBY-5272) – Trainbird