[JAVA] Comment créer SquashTM et comment prendre en charge le japonais

Qu'est-ce que SquashTM

SquashTM est un outil de gestion de test basé sur le Web. Nous prenons en charge la multilinguisation, mais malheureusement, nous ne prenons pas en charge le japonais. De plus, comme un droit naturel, les caractères sont déformés.

Cette fois, nous allons créer SquashTM pour corriger les caractères déformés et découvrir comment prendre en charge le japonais.

Comment construire

Il y a des phrases officielles, mais elles sont anciennes.

Très vieux https://sites.google.com/a/henix.fr/wiki-squash-tm/developer/how-to-install-squashtm-project-into-eclipse

Un peu vieux https://bitbucket.org/nx/squashtest-tm/wiki/devguide/HowToInstallInIDE.md#!install-in-eclipse

Préparation préalable

Préparez ce qui suit. ・ Java 8 ou supérieur · Éclipse ・ Mvn3.3 ou supérieur ・ ToroiseHg (Outil de gestion de configuration distribuée comme Git)

Les plug-ins à mettre en éclipse sont les suivants ・ Spring IDE image.png

・ Outils de développement Groovy image.png

Comment construire et exécuter

De l'acquisition du code source à l'installation MVN

cd myeclipseworkspace
hg clone https://bitbucket.org/nx/squashtest-tm
cd squashtest-tm
mvn clean install -DskipTests -DskipITs
#Les éléments suivants peuvent ne pas être nécessaires
cd provision
mvn clean install -DskipTests

com.mycila: license-maven-plugin donne une erreur

L'erreur suivante peut se produire.

Failed to execute goal com.mycila:license-maven-plugin:2.11:check"

Dans ce cas, exécutez la commande suivante dans le dossier racine.

mvn license:format

Si vous obtenez une erreur dans la disposition

L'erreur suivante peut se produire avec l'installation mvn de provision.

Non-resolvable parent POM for org.squashtest.tm:squash-tm-provision:[unknown-version]: Could not find artifact org.squashtest.tm:squash-tm:pom:1.19.0.RC3-SNAPSHOT and 'parent.relativePath' points at no local POM

Cela se produit lorsque le parent dans pom.xml dans le dossier de provision et pom.xml dans le dossier parent ne sont pas cohérents. Depuis le 6 juillet 2019, les modifications suivantes étaient requises

parent/pom.xml


  <parent>
    <groupId>org.squashtest.tm</groupId>
    <artifactId>squash-tm</artifactId>
    <version>1.19.0.RELEASE</version> <<<<<<La version ici était incompatible avec mes parents
    <relativePath>../pom.xml</relativePath>
  </parent>

Fonctionnement avec éclipse

Faites ce qui suit en éclipse

Importer un projet

1 Sélectionnez [Fichier]> [Importer] dans le menu 2 Cook [Maven]> [Projet Maven existant] image.png 3 Sélectionnez le dossier créé par "hg clone"

Module d'approvisionnement introduit dans Eclipse

Ce travail peut ne pas être nécessaire dans la dernière version.

1 Sélectionnez [Fenêtre]> [Paramètres] dans le menu. 2 Sélectionnez [Développement de plug-in]> [Plateforme cible] et appuyez sur le bouton "Ajouter". image.png 3 Sélectionnez "Commencer avec une définition de cible vide" image.png 4 Appuyez sur le bouton "Ajouter" sur le contenu cible image.png 5 Sélectionnez un répertoire. image.png 6 Entrez "squashtest-tm / provision / target / eclipse-provision / bundles" pour l'emplacement. 7 Le contenu cible sera ajouté, entrez donc les valeurs suivantes dans l'onglet Arguments. Arguments du programme:

-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console

** Arguments VM: **

-Declipse.ignoreApp=true
-Dosgi.noShutdown=true
-Dorg.osgi.framework.system.packages.extra=com.sun.org.apache.xalan.internal.res,com.sun.org.apache.xml.internal.utils,
com.sun.org.apache.xpath.internal,com.sun.org.apache.xpath.internal.jaxp,com.sun.org.apache.xpath.internal.objects,com.sun.javadoc,
com.sun.tools.javadoc,javax.xml.namespace 
-Dbundles.configuration.location="${workspace_loc}/squashtest-tm/provision/target/config"
-Dorg.osgi.service.http.port=9090
-Dorg.osgi.service.http.port.secure=9443
  1. Une fois terminé, vérifiez la définition cible que vous venez d'ajouter.

Paramètres du plug-in Spring IDE

1 Sélectionnez [Exécuter]> [Exécuter la configuration] dans le menu. 2 Cliquez avec le bouton droit sur [Spring Boot Application] sur l'écran de configuration de l'exécution et appuyez sur le bouton "Nouveau". 3 Entrez une valeur dans chaque onglet ** Onglet Spring Boot ** image.png

・ Projet: tm.web ・ Type principal: org.squashtest.tm.SquashTm -Profil: h2, dev

** Onglet Argument ** image.png

Arguments du programme: -XX: MaxPermSize = 256m -Xmx1024m

** Onglet Chemin de classe ** image.png

① Après avoir sélectionné "Entrée utilisateur", appuyez sur le "Bouton d'extension" ② Sélectionnez "Ajouter un dossier" ③ Entrez "tm.web / target / wro4j-spring-boot"

Méthode d'exécution

Puisque la configuration d'exécution est définie dans les paramètres de Spring IDE, appuyez sur le bouton d'exécution à cet endroit. Ensuite, accédez aux éléments suivants à partir de votre navigateur. (http://localhost:8080/squash

Que faire si une erreur se produit au démarrage

Le démarrage a parfois échoué. Dans ce cas, j'ai essayé ce qui suit. De plus, il semble que cela fonctionne même s'il y a une exception dans le journal

  1. Essayez d'effacer la base de données une fois ・ Tm \ data \ squash-tm.mv.db ・ Tm \ data \ squash-tm.trace.db

  2. Essayez "mvn clean install".

Essayez de réparer diverses choses

Essayez de corriger les caractères déformés sur l'écran "Joindre des cas de test"

Les caractères japonais sont déformés lors de l'association de cas de test à la suite de tests. image.png

La cause est que contentType n'est pas défini dans jsp. Modifiez comme suit.

jsp:tm\tm.web\src\main\webapp\WEB-INF\jsp\page\campaign-workspace\show-test-suite-test-plan-manager.jsp


<%@ taglib prefix="authz" tagdir="/WEB-INF/tags/authz"%>

↓ Ajouter ceci
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

<c:url var="testSuiteUrl" value="/test-suites/${ testSuite.id }" />

Comme il y a une page assez brouillée, il est préférable de vérifier si l'encodage est spécifié pour jsp, mais seul error.jsp a le code de caractère spécifié, donc je l'ai laissé tel quel.

Si les caractères japonais sont déformés dans leur ensemble, il est considéré que vous avez fait une erreur lors de la création de la base de données et qu'elle ne prend pas en charge utf8.

Essayez d'ajouter un message en japonais.

SquashTM peut prendre en charge plusieurs langues en copiant les ressources des messages.

    1. Créez messages_ja.properties en copiant tm \ tm.web \ src \ main \ webapp \ WEB-INF \ messages \ tm \ messages.properties.
  1. Ouvrir dans Limy Property Editor
    1. Remplacer par le japonais Après correction, "tm-web" est "mvn install" puis redémarré.

La langue change en fonction de la langue spécifiée par le navigateur.

Méthode de remplacement et de redémarrage pour CentOS7

La méthode pour placer la guerre créée sur le serveur est la suivante

1 tm / tm.web / target / tm.webXXXXXXX.war renommé en squash-tm.war 2 Arrêtez le service avec "sudo service squash-tm stop" 3 Pour CentOS7, copiez dans "/ usr / lib / squash-tm / bundles /" 4 Redémarrez le service avec "sudo service squash-tm stop"

Au fait, le journal est ci-dessous, vous devriez donc le surveiller autour de tail -f. /var/log/squash-tm/squash-tm.log

à la fin

Vous pouvez désormais corriger vous-même tous les bogues de SquashTM. C'est sûr même s'il y a des bugs! (Fierté)

Recommended Posts

Comment créer SquashTM et comment prendre en charge le japonais
Comment construire android-midi-lib
Comment créer une API avec GraphQL et Rails
Comment créer des outils de parquet et fusionner des fichiers Parquet
Que s'est-il passé dans «Java 8 to Java 11» et comment créer un environnement
Comment utiliser StringBurrer et Arrays.toString.
Comment utiliser EventBus3 et ThreadMode
Comment appeler des classes et des méthodes
Comment utiliser l'égalité et l'égalité (comment utiliser l'égalité)
Comment connecter Heroku et Sequel
Comment convertir LocalDate et Timestamp
Comment créer CloudStack à l'aide de Docker
Comment traduire enum en japonais et générer des boutons radio liés
Comment installer le langage utilisé dans Ubuntu et comment créer l'environnement
Comment utiliser OrientJS et OrientDB ensemble
[Java] Comment sortir et écrire des fichiers!
Comment configurer et utiliser kapt
Comment trouver les dizaines et les unités
[Facile] Comment mettre à niveau Ruby et le bundler
Comment utiliser les méthodes substring et substr
[Rails] Comment traduire la devise en japonais
Comment utiliser @Builder et @NoArgsConstructor ensemble
Comment créer un environnement Rails 6 avec Docker
Comment afficher les messages d'erreur en japonais
Comment sortir Excel et PDF avec Excella
[Java] Comment utiliser la classe FileReader et la classe BufferedReader
[Ruby] Comment utiliser la méthode gsub et la sous-méthode
Comment jouer de la voix ou de la musique en utilisant javascript
Comment traduire Rails en japonais en général
Comment configurer et utiliser jEnv (Mac)
Comment utiliser la portée et le traitement des passes (servist)
Comment obtenir et étudier Java SE8 Gold
Comment trouver le score total et le score moyen
[Rails] Comment créer un environnement avec Docker
[Rails] Comment émettre des messages de réussite et d'erreur
Comment créer un environnement Pytorch sur Ubuntu
Comment créer la blockchain la plus simple de Ruby
Comment créer un fichier exécutable dans Maven
Ruby Comment convertir entre les majuscules et les minuscules
Comment utiliser les connaissances pour réduire le travail d'assistance de 10 à 20%
Comment accéder aux méthodes et champs Java Private
[Rails] Comment convertir l'affichage de l'heure UC en affichage de l'heure japonais
[Java] Comment utiliser la classe Calendar et la classe Date
Comment quitter Docker pour Mac et créer un environnement de développement Docker avec Ubuntu + Vagrant
Plans pour prendre en charge JDK 11 pour Eclipse et Spring Boot
Comment créer l'application Docker + Springboot (pour l'apprentissage de base)
[Ruby on Rails] Comment écrire enum en japonais
[Java] Types de commentaires et comment les rédiger