Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gabefgonc

Nao consigo criar jar na IntelliJ idea

Recommended Posts

Olá, quando tento fazer um jar com os códigos a seguir, e abro o executável, ele lança a seguinte exceção:

java.io.FileNotFoundException: res/world/world1.txt (Arquivo ou diretório inexistente)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
at java.base/java.io.FileInputStream.(FileInputStream.java:157)
at java.base/java.io.FileInputStream.(FileInputStream.java:112)
at java.base/java.io.FileReader.(FileReader.java:60)
at br.gabefgonc.javaxswingtests.utils.Utils.loadFileAsString(Utils.java:13)
at br.gabefgonc.javaxswingtests.worlds.World.loadWorld(World.java:68)
at br.gabefgonc.javaxswingtests.worlds.World.(World.java:25)
at br.gabefgonc.javaxswingtests.main.states.GameState.(GameState.java:20)
at br.gabefgonc.javaxswingtests.main.Game.init(Game.java:95)
at br.gabefgonc.javaxswingtests.main.Game.run(Game.java:45)
at java.base/java.lang.Thread.run(Thread.java:834)

java.lang.NumberFormatException: For input string: “”
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.Integer.parseInt(Integer.java:662)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at br.gabefgonc.javaxswingtests.utils.Utils.parseInt(Utils.java:26)
at br.gabefgonc.javaxswingtests.worlds.World.loadWorld(World.java:71)
at br.gabefgonc.javaxswingtests.worlds.World.(World.java:25)
at br.gabefgonc.javaxswingtests.main.states.GameState.(GameState.java:20)
at br.gabefgonc.javaxswingtests.main.Game.init(Game.java:95)
at br.gabefgonc.javaxswingtests.main.Game.run(Game.java:45)
at java.base/java.lang.Thread.run(Thread.java:834)
Exception in thread “Thread-0” java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at br.gabefgonc.javaxswingtests.worlds.World.loadWorld(World.java:72)
at br.gabefgonc.javaxswingtests.worlds.World.(World.java:25)
at br.gabefgonc.javaxswingtests.main.states.GameState.(GameState.java:20)
at br.gabefgonc.javaxswingtests.main.Game.init(Game.java:95)
at br.gabefgonc.javaxswingtests.main.Game.run(Game.java:45)
at java.base/java.lang.Thread.run(Thread.java:834)

códigos:

World.java:

package br.gabefgonc.javaxswingtests.worlds;

import br.gabefgonc.javaxswingtests.entities.EntityManager;
import br.gabefgonc.javaxswingtests.entities.Player;
import br.gabefgonc.javaxswingtests.entities.Tree;
import br.gabefgonc.javaxswingtests.inventory.Inventory;
import br.gabefgonc.javaxswingtests.items.Item;
import br.gabefgonc.javaxswingtests.items.ItemManager;
import br.gabefgonc.javaxswingtests.main.Game;
import br.gabefgonc.javaxswingtests.main.Handler;
import br.gabefgonc.javaxswingtests.main.tiles.Tile;
import br.gabefgonc.javaxswingtests.utils.Utils;

import java.awt.*;

public class World {
private int width, height, spawnX,spawnY;
private int[][] tiles;
private Handler handler;
private EntityManager entityManager;
private ItemManager itemManager;
public World(Handler handler, String path){
this.handler = handler;
entityManager = new EntityManager(handler, new Player(handler, 0, 0));
loadWorld(path);
entityManager.getPlayer().setX(spawnX);
entityManager.getPlayer().setY(spawnY);

    itemManager = new ItemManager(this.handler);



}

public void tick(){
    entityManager.tick();
    itemManager.tick();
}

public void render(Graphics g){
    int xStart = (int) Math.max(0, handler.getCamera().getxOffset() / Tile.TILE_WIDTH);
    int xEnd = (int) Math.min(width, (handler.getCamera().getxOffset() + handler.getWidth()) / Tile.TILE_WIDTH + 1);
    int yStart = (int) Math.max(0, handler.getCamera().getyOffset() / Tile.TILE_HEIGHT);
    int yEnd = (int) Math.min(height, (handler.getCamera().getyOffset() + handler.getHeight()) / Tile.TILE_HEIGHT + 1);
    for(int y = yStart; y < yEnd; y++){
        for(int x = xStart; x < xEnd; x++){
            getTile(x, y).render(g, (int) (x * Tile.TILE_WIDTH - handler.getCamera().getxOffset()),
                    (int) (y * Tile.TILE_HEIGHT - handler.getCamera().getyOffset()));
        }
    }
    itemManager.render(g);
    entityManager.render(g);
}

public Tile getTile(int x, int y){
    Tile t;
    if(x < width && y < height)
         t = Tile.tiles[tiles[x][y]];
    else t = null;

    if(t == null){
        return Tile.grassTile;
    }
    return t;
}

private void loadWorld(String path){
    String file = Utils.loadFileAsString(path);
    String[] tokens = file.split("\\s+");
    System.out.println(tokens[0]);
    width = Utils.parseInt(tokens[0]);
    height = Utils.parseInt(tokens[1]);
    spawnX = Utils.parseInt(tokens[2]);
    spawnY = Utils.parseInt(tokens[3]);
    tiles = new int[width][height];
    for(int y = 0; y < height; y++){
        for(int x = 0; x < width; x++){
            tiles[x][y] = Utils.parseInt(tokens[(x + y * width) + 4]);
            if(Utils.parseInt(tokens[(x + y * width) + 4]) == 5){
                entityManager.addEntity(new Tree(handler, x * Tile.TILE_WIDTH, y * Tile.TILE_HEIGHT));
            }
        }
    }

}

public int getWidth() {
    return width;
}

public int getHeight() {
    return height;
}

public EntityManager getEntityManager(){
    return entityManager;
}

public Handler getHandler() {
    return handler;
}

public void setHandler(Handler handler) {
    this.handler = handler;
}

public ItemManager getItemManager() {
    return itemManager;
}

public void setItemManager(ItemManager itemManager) {
    this.itemManager = itemManager;
}

}

Utils.java:

package br.gabefgonc.javaxswingtests.utils;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Utils {

public static String loadFileAsString(String path){
    StringBuilder builder = new StringBuilder();
    ClassLoader classLoader = ClassLoader.getSystemClassLoader();
    try {
        BufferedReader br = new BufferedReader(new FileReader(path));
        String line;
        while((line = br.readLine()) != null){
            builder.append(line + "\n");
        }
    }catch(IOException e){
        e.printStackTrace();
    }
    return builder.toString();
}

public static int parseInt(String number){
    try{
        return Integer.parseInt(number);
    }catch(NumberFormatException e){
        e.printStackTrace();
        return 0;
    }
}

}

GameState.java:

package br.gabefgonc.javaxswingtests.main.states;

import br.gabefgonc.javaxswingtests.entities.EntityManager;
import br.gabefgonc.javaxswingtests.entities.Player;
import br.gabefgonc.javaxswingtests.entities.Tree;
import br.gabefgonc.javaxswingtests.gfx.ImageLoader;
import br.gabefgonc.javaxswingtests.gfx.SpriteSheet;
import br.gabefgonc.javaxswingtests.main.Game;
import br.gabefgonc.javaxswingtests.main.Handler;
import br.gabefgonc.javaxswingtests.main.tiles.Tile;
import br.gabefgonc.javaxswingtests.worlds.World;

import java.awt.*;

public class GameState extends State {
private World world;

public GameState(Handler handler){
    super(handler);
    world = new World(handler, "res/world/world1.txt");
    handler.setWorld(world);
}

public void tick() {
    world.tick();
}

public void render(Graphics g) {
    world.render(g);
}

}

classPath:

/home/gabriel/Programacao/Games/JavaxSwingTests/res

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Estou escrevendo um Sistema Java Web e quando clico no Botão Salvar, o Java acusa esse erro:

      ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null
       
      Já tentei de várias formas resolver esse problema, mas não estou conseguindo.

      Por favor, alguém pode me ajudar identificar a origem e resolver o problema acima ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Estou enfrentando um problema que não consigo entender.

      Após Instalar o MySql versão 8.0.36, funciona corretamente realizando as conexões.

      O problema é:
      ---[ após reiniciar o micro, o MySql não faz as conexões.
      --[ tenta localizar este arquivo, mas não acha: my.ini
       
      Onde localizo ou configuro este arquivo na Pasta MySql ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, preciso de ajuda em Relação a Instalar o Jasper Reports no Eclipse, pois a opção de Eclipse Marketplace, não encontra para instalar.
       
      Já tentei de todas as formas mas não consegui, alguém conhece alguma rotina explicando este procedimento ?
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amantes da informática.
       
      Saudações.
       
      Estou usando o Eclipse Mars versão 4.5.0  e o 4.5.2, acredito que deva ter versões mais novas. 
      Sou novato em JAVA e estou encontrando alguns problema em Instalação de alguns plugins, como por exemplo:
       
      1) quando tento instalar o JBoss Tools através do Eclipse Marteplace, o Eclipse não o encontra na lista de plugins.
      2) se tento instalar através do Install New Software, abaixa alguns arquivos, mas também não instala o JBoss.
      3) se abro o site e arrasto o download para a área de trabalho do Eclipse, também não instala o JBoss.
       
      Caros amigos, existe outra alguma forma de instalar o JBoss Tools no Eclipse e como seria ?
       
      Grato,
       
      Cesar
       
       
    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.