Problém jsem vyřešil sám a byl jsem velmi nadšený. I když jsem sám nedostal pomoc, doufám, že se k tomuto vláknu přidá někdo jiný a dokáže jej zprovoznit!
Takže mám aplikaci Vaadin, která byla zkompilována do souboru WAR. Nasadil jsem jej na servery OpenShift podle následujících kroků:
Nasazení zkompilované webové aplikace do OpenShift
- Otevřete OpenShift ve svém webovém prohlížeči. Přihlaste se do Openshift. Přejděte do příslušné aplikace.
- Získejte ssh kód této aplikace (měl by být napravo od obrazovky) umístěný napravo od kazet. Zkopírujte tento kód pomocí Command-C nebo Ctrl-C.
- Otevřete Terminál a zadejte
git clone ssh:\\xxxxxxxxxxxxxxxx... - Pokud používáte Mac, jako já, měl by vytvořit adresář projektu v
Users/Username/Appname. Uvnitř tohoto adresáře odstraňte zdrojovou složku apom.xml. Vezměte zkompilovaný soubor WAR a zkopírujte jej dowebappsadresář . - Přejděte na Terminál. Zadejte
cd Appnamea potégit add .,git commit -m "Deployment"a nakonecgit push. - Vaše aplikace by nyní měla plně fungovat na adrese
www.openshiftappname-domainname.rhcloud.com/warfilename
Přístup k MySQL
- Nainstalujte cartridge pro MySQL a phpMyAdmin. To by mělo být dostupné prostřednictvím
Add Cartidgena vašemopenshift.comcentrum aplikací. - Poznamenejte si své
usernameapassworddo databáze MySQL, kterou pro vás OpenShift automaticky generuje. Přejděte nawww.openshiftappname-domainname.rhcloud.com/phpmyadmin, zadejte ověřovací údaje. - Uvnitř phpMyAdmin by měla být IP adresa serveru; vypadá to nějak jako
127.x.y.z:3306.x, y, and zmohou být jednociferná až tříciferná čísla. - Rychle vytvořte novou
databasepojmenoval jak chceš. Pojmenuji totesta následně tam vytvořit novou tabulku s názvemtesttable. - Pamatujete si tedy svou nasazenou aplikaci WAR? Pokud používáte MySQL, vsadím se, že jste ji již zahrnuli do své aplikace. Základní kroky k navázání připojení k MySQL jsou takové.
Java kód
Přejděte na otevřený projekt IDE, který jste zkompilovali do souboru WAR. Přejděte na pom.xml ve svém projektu, pokud se jedná o projekt Maven, a přidejte závislost:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>
- Potom použijte následující kód.
String s = "jdbc:mysql://" + host + ":" + port + "/" + name" , kde hostitel je server IP address , port je 3306 a název je database name , v mém případě test .
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
Connection con = DriverManager.getConnection(s, username, password);
}
catch (SQLException e) {
e.printStackTrace();
}
Nyní if (con == null) nefungovalo to. A pokud není null , stalo se.
Chcete-li otestovat, měli byste znovu zkompilovat svůj soubor WAR (po uvedení nějakého způsobu, jak jej vizuálně otestovat). Pokud potřebujete další pomoc, zanechte prosím komentář. Mělo by to fungovat, když zkompilujete soubor WAR a znovu provedete kroky 4-6 v první sekci:Deployment of compiled webapp to OpenShift . Díky!