java.lang.ClassNotFoundException was muss ich tun damit das geht?

[17:56:01] [CanaryMod] [INFO]: Enabling Plugins...

[17:56:01] [CanaryMod] [ERROR]: Exception while enabling plugin: HelloWorld

net.canarymod.exceptions.PluginLoadFailedException: Failed to load plugin

    at net.canarymod.plugin.lifecycle.JavaPluginLifecycle._load(JavaPluginLifecycle.java:36) ~[CanaryMod.jar:1.7.10-1.1.2]

    at net.canarymod.plugin.lifecycle.PluginLifecycleBase.load(PluginLifecycleBase.java:71) ~[CanaryMod.jar:1.7.10-1.1.2]

    at net.canarymod.plugin.lifecycle.JavaPluginLifecycle.load(JavaPluginLifecycle.java:16) ~[CanaryMod.jar:1.7.10-1.1.2]

    at net.canarymod.plugin.PluginManager.enablePlugin(PluginManager.java:68) ~[CanaryMod.jar:1.7.10-1.1.2]

    at net.canarymod.plugin.PluginManager.enableAllPlugins(PluginManager.java:101) [CanaryMod.jar:1.7.10-1.1.2]

    at net.canarymod.Canary.enablePlugins(Canary.java:284) [CanaryMod.jar:1.7.10-1.1.2]

    at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:278) [CanaryMod.jar:1.7.10-1.1.2]

    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:391) [CanaryMod.jar:1.7.10-1.1.2]

    at net.minecraft.server.MinecraftServer$3.run(MinecraftServer.java:742) [CanaryMod.jar:1.7.10-1.1.2]

Caused by: java.lang.ClassNotFoundException: The class helloworld.HelloWorld could not be found!

    at net.canarymod.CanaryClassLoader.findClass(CanaryClassLoader.java:55) ~[CanaryMod.jar:1.7.10-1.1.2]

    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_241]

    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_241]

    at net.canarymod.plugin.lifecycle.JavaPluginLifecycle._load(JavaPluginLifecycle.java:27) ~[CanaryMod.jar:1.7.10-1.1.2]

    ... 8 more

Caused by: java.lang.ClassNotFoundException: helloworld.HelloWorld

    at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_241]

    at net.canarymod.CanaryClassLoader.findClass(CanaryClassLoader.java:37) ~[CanaryMod.jar:1.7.10-1.1.2]

    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_241]

    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_241]

    at net.canarymod.plugin.lifecycle.JavaPluginLifecycle._load(JavaPluginLifecycle.java:27) ~[CanaryMod.jar:1.7.10-1.1.2]

    ... 8 more

Das sagt die Shell wenn ich versuche das plugin zum laufen zu bringen was kann ich dagegen tun?

Computer, programmieren, Java, Minecraft, Minecraft Plugin
Parse error: syntax error, unexpected '$ergebnisZwei' (T_VARIABLE), expecting ',' or ';' in C:\xampp\htdocs\quiz.php on line 84?

Hallo zusammen,

ich komme einfach nicht auf den Fehler in meiner PHP-Datei.

Die Fehlermeldung lautet:

Parse error: syntax error, unexpected '$ergebnisZwei' (T_VARIABLE), expecting ',' or ';' in  C:\xampp\htdocs\quiz.php on line  84

Das Dokument:

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Quiz</title>
  </head>
  <body>






<div id="Quiz">
  <h1>Quiz</h1>
  <h2>Herzlich Willkommen!</h2>




  <form method="POST" action="quiz.php">
<br><br>




<h3>Frage 1:</h3>
<p>Was hat x für einen Wert?</p>
<p>10-x = 99-(-89)</p>
  <input type="text" name="Frage1" size="6">








  <input type="submit" name="submit" value="Weiter"><br>


  </form>
  </div>
  <?php




  foreach ($_POST as $feld => $wertEins)
{
$ergebnisEins = -178;
$erreichbarepunkteEins = 1;


          if ($wert == $ergebnisEins)


               {


                echo "Die Eingabe x=$wertEins ist richtig! Weiter so!";


               }


          elseif ($wertEins <>"Weiter")


               {


                echo "Die Eingabe x=$wertEins ist leider nicht richtig!";


               };




               if ($wertEins == $ergebnisEins)
               {
                 $frageEinspunkte = 1;
               }


               if ($wertEins !== $ergebnisEins)
               {
                 $frageEinspunkte = 0;
               }


}


echo "<br><br>


<h3>Frage 1:</h3>
<p>Was hat x für einen Wert?</p>
<p>x = 100-20</p>
  <input type='text' name='Frage1' size=6>








  <input type='submit' name='submit' value='Weiter'><br>


  </form>
  </div>"


  $ergebnisZwei = 80;
  $erreichbarepunkteZwei = 1;


  foreach ($_POST as $feld => $wertZwei)






          if ($wertZwei == $ergebnisZwei)


               {


                echo "Die Eingabe x=$wertZwei ist richtig! Weiter so!";


               }


          elseif ($wertZwei <>"Weiter")


               {


                echo "Die Eingabe x=$wertZwei ist leider nicht richtig!";


               };




               if ($wertZwei == $ergebnisZwei)
               {
                 $frageZweipunkte = 1;
               }


               if ($wertZwei !== $ergebnisZwei)
               {
                 $frageZweipunkte = 0;
               }




echo "<br>";


$sumSindPunkte = $frageEinspunkte + $frageZweipunkte;
$sumErreichbarePunkte = $erreichbarepunkteEins + $erreichbarepunkteZwei;


echo "Du hast $sumSindPunkte Punkte von $sumErreichbarePunkte erreicht.";


  ?>
















  </body>
</html>


Computer, programmieren, Error, PHP, Fehlermeldung
Wie behebe ich den GPSD Fehler beim Raspberry Pi?

Hallo,

Ich habe an meinem Raspberry Pi ein GPS Modul angeschlossen, welches vom Raspberry auch als ein solches erkannt werden soll, dass ich die Daten weiterverwenden kann z. B. als Navigationsgerät etc.

Es ist so, dass ich die GPS Daten zwar in Rohform auslesen kann, obwohl dabei mehr Pakete verloren gehen als ankommen, allerdings ist es einfach nicht möglich diese an den GPS Daemon weiterzuleiten.

Ich habe den GPS Sensor mit neuen Jumperkabeln, an meinen Raspberry Pi 3B+ angeschlossen

Das Betriebssystem auf dem Raspberry Pi ist Raspian Booster.
Die Serielle Schnittstelle, habe ich über das GUI freigegeben

GPS Modul Raspberry Pi
VCC 3.3V (Pin 1)
RX TXD/GPIO 14 (Pin 8)
TX RXD/GPIO 15 (Pin 10)
GND Ground (Pin 6)

Am GPS Sensor blinkt auch ganz normal die blaue Lampe.
Wenn ich nun den Befehl

sudo cat /dev/serial0

oder auch

sudo cat /dev/ttyS0

eingebe, bekomme ich die Sensordaten in der Roh form, allerdings komplett unsortiert und mit mehr Fehlern als echten Daten (wobei ich bis jetzt noch nicht überprüft habe, ob diese überhaupt richtig sind)

Siehe Bild: https://i.imgur.com/8Ilu6Fn.gif

Also an der Seriellen Schnittstelle, sollte das Problem schon einmal nicht liegen. Als nächstes habe ich mich dann nach dieser Anleitung gerichtet (https://tutorials-raspberrypi.de/raspberry-pi-gps-ortung-navigation/), die allerdings ein wenig anders ist, da es sich hierbei um eine Anleitung für ein älteres Modell handelt (z. B. die Freischaltung der Seriellen Schnittstelle ist anders & /dev/ttyAMA0 heißt jetzt /dev/ttyS0). Ich habe also zum einen die Befehle

sudo apt-get update

und

sudo apt-get install minicom gpsd gpsd-clients

eingegeben.

Als nächstes steht in der Anleitung, dass dem Modul eine Baudrate von 9600 geben soll, was das genau ist, habe ich noch nicht so ganz verstanden, aber ich denke mal das ist so etwas in der Art wie eine Taktfrequenz. Dies mache ich mit dem Befehl

sudo stty -F /dev/serial0 9600

. Ich bekomme hier keine Ausgabe, so wie auch in dem Tutorial beschrieben. Mit dem Befehl

sudo stty -F /dev/serial0

lasse ich mir dann noch die aktuelle Konfiguration ausgeben.

Laut der Anleitung, soll man jetzt den ersten Test mit dem Befehl minicom -b 9600 -o -D /dev/ttyAMA0, den ich natürlich so abwandle machen:

sudo minicom -b 9600 -o -D /dev/serial0

das ist irgendwie komisch formatiert, so dass ich mit Strg + A und Q Dann das Programm wieder abbreche

Siehe Bild: https://i.imgur.com/wDsgaJX.gif

Als letztes, und das ist jetzt der Punkt der nicht klappt, gebe ich den Befehl

sudo gpsd /dev/serial0 -F /var/run/gpsd.sock -n

ein. Es kommt keine Ausgabe. Als nächstes, sollte normalerweise mit dem Befehl

cgps

die Sensordaten Strukturiert ausgegeben werden. Dies ist allerdings nicht der Fall. Stattdessen kommen bei allen Werten die Ausgaben n/a und beim Status steht NO FIX (0 secs)

Nach mehreren Sekunden springt das UI weg und es kommt die Fehlermeldung:

cgps: GPS timeout

Ich hoffe mir kann jemand helfen.

MfG
Motfrager😉

Bild zum Beitrag
Computer, Technik, Linux, programmieren, GPS, Shell, Technologie, Domäne, Raspberry Pi, Raspberry, Raspian, Spiele und Gaming
Java GUI für Game erstellen: Platzierungsprobleme?

Hallo,

ich soll eine grafische Oberfläche für ein Spiel kreieren. Es soll aus einem JLabel (Überschrift), drei JButtons (für Start, eins setzen, zwei setzen) und eine Zeichnung (Graphics g) bestehen. Jetzt geht es erst einmal nur darum, dass richtig zu platzieren. Ich habe schon jegliche Layouts ausprobiert, aber ich bekomme es einfach nicht hin.

So soll es aussehen:

So bekomme ich es höchstmöglich hin:

Das ist der Code:

public class MyUI {
  public static void main(String[] args) {
    JFrame fenster = new JFrame("NIM-Spiel");
    MyJPanel grafiken = new MyJPanel();
    JPanel panel = new JPanel();
    panel.setLayout(new GridBagLayout());

    GridBagConstraints gbc = new GridBagConstraints();
    gbc.insets = new Insets(5, 5, 5, 5);

    JLabel ueberschrift = new JLabel("Variante des NIM-Spiels");+
    ueberschrift.setFont(new Font("ARIAL", Font.BOLD, 25));
    ueberschrift.setVerticalAlignment(JLabel.TOP);
    ueberschrift.setHorizontalAlignment(JLabel.CENTER);
    panel.add(ueberschrift);

    JButton startButton = new JButton("START");
    gbc.gridx = 0;
    gbc.gridy = 1;
    gbc.fill = GridBagConstraints.HORIZONTAL;
    panel.add(startButton, gbc);

    JButton button1 = new JButton("Eins setzen");
    gbc.gridx = 0;
    gbc.gridy = 2;
    panel.add(button1, gbc);

    JButton button2 = new JButton("Zwei setzen");
    gbc.gridx = 0;
    gbc.gridy = 3;
    panel.add(button2, gbc);

    fenster.setSize(1000, 570);
    fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    fenster.setLocationRelativeTo(null);
    fenster.setResizable(false);
    fenster.setContentPane(grafiken);
    fenster.add(panel);
    fenster.setVisible(true);
  }
}

Mit dem GridBagLayout hatte ich die besten Ergebnisse. Aber perfekt ist das nicht, mit dem GridLayout ging es auch nicht. Das BorderLayout hat nur das JPanel richtig positioniert, dafür konnte ich das set vertical und horizontal alignment wegmachen.

Wäre es vielleicht die Lösung, ein BorderLayout zu kreieren, wo oben das JLabel platziert, unten dann die Zeichnung und in der Mitte für die Buttons ein GridLayout eingeschoben wird? Also ein Layout in einem Layout?

Das ist noch zusätzlich meine Klasse für die Zeichnung: https://pastebin.com/Z6QSAHpm

PS.: Erst durch Setzen von superpaint g wurde die Zeichnung überhaupt im Fenster erstellt. Woran liegt das?

Bild zum Beitrag
Computer, Technik, programmieren, Java, Eclipse, Informatik, Technologie, Grafische Oberfläche, Java Swing, Spiele und Gaming
C# WPF User Control Typname nicht vorhanden?

Hallo an alle Programmierfreunde da draußen!

Ich wollte mir gerne eine Custom User Control erstellen, weil ich sie in dieser Art und Weise in fast jeder WPF-App verwende.

Mein C# - Code:

using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;

namespace MenuBar
{
    public partial class MenuBar : UserControl
    {
        public List<string> Buttons;
        public SolidColorBrush Background;
        public SolidColorBrush Foreground;
        public SolidColorBrush BorderBrush;
        public Thickness BorderThickness;

    public MenuBar(int winHeight)
    {
        InitializeComponent();
        GridMenu.Height = winHeight;
        GridMenu.HorizontalAlignment = HorizontalAlignment.Stretch;
        GridMenu.VerticalAlignment = VerticalAlignment.Top;
    }

    public void Create()
    {
        ColumnDefinition c;
        for (int i = 0; i &lt;= Buttons.Count; i++)
        {
            c = new ColumnDefinition();
            c.Width = new GridLength(GridMenu.Width / Buttons.Count);
            GridMenu.ColumnDefinitions.Add(c);
        }

        Button btn;
        int col = 0;
        foreach (string s in Buttons)
        {
            btn = DefaultButton(s);
            GridMenu.Children.Add(btn);
            Grid.SetColumn(btn, col);
            col++;
        }
    }

    private Button DefaultButton(string title)
    {
        Button btn = new Button();
        btn.Width = GridMenu.Width / Buttons.Count;
        btn.Height = GridMenu.Height;
        btn.Background = Background;
        btn.Foreground = Foreground;
        btn.Cursor = Cursors.Hand;
        btn.BorderBrush = BorderBrush;
        btn.BorderThickness = BorderThickness;
        btn.Content = title;
        
        return btn;
    }
}

}

Mein XAML - Code:

<UserControl x:Class="MenuBar.MenuBar"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:local="clr-namespace:MenuBar"
             mc:Ignorable="d"
             x:Name="Menu">
    <Grid x:Name="GridMenu"></Grid>
</UserControl>

Abgesehen davon, dass ich nicht sicher sagen kann, dass der Code so funktioniert, bekomme ich schon beim Build eine Fehlermeldung:

 MenuBar.xaml(9, 26): [CS0426] Der Typname "MenuBar" ist im Typ "MenuBar" nicht vorhanden.

Ich habe leider absolut keine Ahnung, wo der Fehler liegt, ich programmiere noch nicht so lange. Vielleicht kann mir jemand von euch helfen?

Das Projekt wurde als DesktopApplication im .NETCore v3.1 mit JetBrains Rider erstellt.

Danke für die Hilfe!

programmieren, C Sharp, Windows Presentation Foundation
Warum funktioniert mein Installer nicht?

Ich bin mit meinen Programm in Visual Studio fertig geworden und wollte, dass man dieses Programm mit einen Installer wie jedes andere Programm welches man im Internet herunterlädt auf dem Computer installieren kann. Dafür habe ich mir die Visual Studio Erweiterung "Microsoft Visual Studio Installer Projects" (https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2017InstallerProjects) heruntergeladen.

Nachdem ich die Erweiterung heeuntergeladen hatte, habe ich in der Projektmappe meines Programms ein neues Projekt(siehe Bild 1) hinzugefügt.

Danach habe ich im "Application Folder" (siehe Bild 2) eine Projektausgabegruppe mit der "Primären Ausgabe" und der Kofiguration "(aktiv)", den Ordner wo ich alle Bild- und Sounddateien gespeichert habe (im Projektordner ist er unter "...\bin\Debug" gespeichert) und das Icon der Exe-Datei hinzugefügt. In den Ordnern "User's Desktop" und "User's Programs Menu" habe ich jeweils eine Verknüpfung zur Primär Ausgabe hinzugefügt.

Als ich damit fertig war habe ich die Batch dazu ertellt (siehe Bild 3) und im Debug Ordner von Setup1 erschienen eine Exe und eine MSI Datei.

Als ich die besagte Exe Datei ausführte, hat sich der Installer ganz normal geöffnet und mein Programm installiert. Jedoch wenn ich versuche das Programm zu starten - egal ob über der Verknüpfung am Desktop oder PrograM Menü der die Exe Datei selber im Programm Ordner - passiert gar nichts. Laut dem Task-Manager öffnet sich zwar kurz ein Prozess, schließt sich aber Direkt wieder. Wenn ich das Programm über den Projektordner von Visual Studio öffne, öffnet sich das Programm ganz normal, also warum funktioniert das nicht über die installierte Version des Programmes?

Bild zum Beitrag
PC, Computer, Videospiele, Windows, Windows 7, Technik, Programm, Installation, programmieren, installieren, C Sharp, Technologie, Visual Studio, Visual Studio 2017

Meistgelesene Beiträge zum Thema Programmieren