Executando verificação de segurança...
1

Como mostrar um projeto Java rodando em um terminal em uma página HTML local?

Sou programador iniciante e, no curso que estou fazendo, criei um Sistema de Xadrez em Java utilizando os fundamentos de OOP. O projeto é simples, executo na pasta bin do diretório raiz usando git bash. Gostaria de poder mostrar este terminal em um site HTML e, dentro do terminal do site, executar meu projeto remotamente. Preciso dessa implementação para um projeto escolar que estou fazendo sozinho. O projeto pode ser visualizado no meu GitHub

Pedi uma sugestão do Bing sobre o que fazer (já que não tenho nenhum programador por perto que possa me explicar o que fazer), e ele me recomendou criar um arquivo .jnpl para ser executado através de JWS (Java Web Start) quando o usuário clicar em o link dentro do HTML. Tive que criar um arquivo .jar do meu projeto, criar um servidor local usando python, criar o arquivo jnlp e por fim o HTML contendo a referência ao meu arquivo. Apesar desse esforço, tudo foi em vão porque o JWS foi descontinuado a partir do Java 11 e eu uso o Java 17.

Carregando publicação patrocinada...
3
2

Olá.
Pelo que entendi sua interface é o terminal, correto? Você não renderiza uma tela ou uma página no browser. É isso mesmo?
Se sim, acredito que o Spring Boot nao irá te ajudar pois você precisará reescrever a interface e as interações da aplicação para funcionar.
O seu objetivo é apenas apresentar o seu projeto para sua turma e instrutor?

1

Sim, meu objetivo é de somente apresentar meu projeto visualizado no terminal mesmo, mas tenho que fazer isso através de um site. Não renderizo nenhuma tela nem página, só executo o projeto na pasta bin do diretório raíz.

2

Entendi.
Vejo algumas alternativas, talvez uma delas consiga resolver seu problema, dependendo da situação:

  1. Se você apenas precisa apresentar o seu trabalho rodando, pode acessar sua máquina remotamente e compartilhar a tela (supondo que a apresentação é presencial);
  2. Se você precisa que o instrutor tenha acesso ao programa rodando, pode criar uma pasta com a JRE, o jar do seu projeto e um bat que configura o JAVA_HOME para a JRE local e inicia o seu programa. Coloca isso em um zip e disponibiliza em algum local para download com instruções de comno executar;
  3. Se você REALMENTE precisa que ele esteja rodando em um browser, pode criar um servidor web e mover o código do terminal para esse servidor. Toda parte de entrada e saída deveria ser convertida para ler e escrever em uma página web. Aí o Spring Boot pode te ajudar, mas acredito que seja a forma mais trabalhosa. Além de reescrever vai precisar publicar esse servidor de forma que consiga acessá-lo fora da sua máquina;
  4. Uma outra sugestão é simplesmente copiar todo o seu trabalho para uma IDE online como por exemplo o https://www.online-java.com/ ou uma similar. Se não estiver usando nenhuma biblioteca de terceiros, isso não deve ser muito complexo.
1

Olá, obrigado novamente pela resposta. Estou participando de uma feira tecnológica na escola e a "publicação" de um site é obrigatória, para meu azar, pois sei pouco ou quase nada sobre HTML e CSS e sou absolutamente leigo em JavaScript. Pode me explicar melhor sobre como posso criar um servidor web? Um colega recomendou criar o servidor web com o Jetty, mas não faço ideia de como implementarei isso, vou buscar pesquisar melhor. Além disso, acho que seria mais fácil só simular um terminal na página web e acessar os arquivos pelo meu computador ou mesmo disponibilizar eles para download e explicar os comandos de terminal necessários para rodar o jogo. Será que isso é possível, ou é só uma ideia proveniente da minha ignorância?

2

Em geral, usamos o Apache Tomcat como servidor web.
Como é algo simples sugiro o Jetty.

Jetty
https://www.eclipse.org/jetty/

Essas são as tecnologias que envolvem Java Web, na ordem das mais modernas:
Spring Framework + Gradle
JSF + Maven
JSP + Maven
Servlet + Ant

Lembrando que se é um jogo de Xadrez com gráficos, você vai ter que ter um conhecimento no front-end como JavaScript, TypeScript, jQuery, pois o Java é só um back-end recebendo dados e retornando dados, não irá tratar nada do visual.
Nessa parte eu recomendo PaperJS
http://paperjs.org/license/

Code Avengers
Site que a utiliza.
https://www.codeavengers.com/

1
2
0
1

Cara uma sugestão seria criar o seu projeto usando spring boot, dai ao criar o projeto usando o spring initializr com o maven e java 17. Dai fica mais facil de poder apresentar ele localmente, bastando colocar a dependencias spring web, dai vc consegue executar o codigo na IDE(uso intellij) e visualizar no localhost:8080. ps: depois de usar o "generate" do initializr, vc precisa extrair o arquivo e ai sim pode usar a pasta extraida para abrir o projeto na IDE. (menciono isso pq iniciantes podem abrir diretamente o projeto em uma pasta zipada e dá ruim depois)

1

Cara, me recomendaram usar o Spring Boot mesmo, a grande questão é que não faço ideia de como usar o Spring Boot e nem como criar meu projeto usando ele. Será que vc podia me dar uma referência sobre como aplicar Spring Boot num projeto? Eu precisaria mudar muito o projeto pra aplicar Spring Boot nele? Fiquei um pouco confuso.