Development Environment Information
IDEs
This project uses the Maven build system to automatically download libraries and dependencies, and to ensure consistent build behavior. As such, this project can be imported into any IDE that supports the Maven build system.
Supported IDEs
IDE | General Config Location(s) | Launch Config Location(s) | Code Style Config Location(s) | Notes |
---|---|---|---|---|
Eclipse Foundation IDE | '.project', '.classpath' | '.eclipse/launch-configs/' | '.eclipse/code-style/' | None |
JetBrains IntelliJ IDEA | '.idea/' | '.idea/runConfigurations/' | '.idea/codeStyles/' | The remote debug configuration does not wake the Ewon debug session from the suspend state. Workaround: Update the remote debug configuration to use the 'debugNoSuspend' profile. The Ewon will begin its debug session immediately, therefore, breakpoints at the beginning of the application execution may be missed prior to the IDE debug session connecting. |
Visual Studio Code | '.vscode/' | '.vscode/tasks.json' | Not yet supported | No support has been included for remote debugging of applications on the Ewon. If desired, a remote JVM debugging session will need to be created as described in the [Deploy Lifecycle (debug)] ( #deploy-lifecycle-debug) section. |
Additional IDEs with support for the Maven build system may be supported by this project, but have not been tested.
IDE-Specific Configuration
IntelliJ IDEA
When using IntelliJ IDEA with this project, it is recommended to use the following (free) plugins to improve the development experience:
Configuration files for these plugins are already included with this project, and will be automatically detected by IntelliJ IDEA.
Command-Line
Maven includes extensive support for the command-line interface (CLI). For more information about Maven command-line interface support, please refer to https://maven.apache.org/run.html.
Getting Project Name and Version via Maven
This project includes additional metadata in the JAR file manifest, including the project's name and
version
from pom.xml
.
To alleviate the requirement for including a hardcoded project name or version in source code, you can access those properties as described:
class MavenMetadataExample {
String projectName = ExampleClass.class.getPackage().getImplementationTitle();
String projectVersion = ExampleClass.class.getPackage().getImplementationVersion();
}
The required metadata is only included when the project is packaged via Maven. If you package
the project using the build.xml
Ant build file, the described method of accessing the project name
and version may not work or could cause an exception.
Testing with JUnit
This project includes basic support for unit testing via the JUnit 3.8.1 test framework. An example
test class has been included in this project at src/test/java/ExampleTest.java
. For detailed
information about JUnit 3.8.1 and its capabilities, please refer
to http://junit.sourceforge.net/junit3.8.1/.
For details about the unit testing in this project, refer to the test lifecycle section on the Maven Lifecycles page.
Requirements
Required Java Version
The Flexy Canary Connector has been designed to work with the latest versions of Java, and has been tested successfully with Java 16+. Older versions of Java may be compatible, but have not been tested and are not supported.During the Maven package lifecycle, an Ewon-compatible JDK will be automatically downloaded and used to compile the resulting source code. This allows for better cross-platform developer support, compilation consistency, and enables the use of modern Java and Maven environments on the host by isolating source code compilation.
Installing a Suitable JDK
If you do not have a suitable JDK installed on your system, follow the vendor instructions to download and install one from the following sources:
Required Maven Version
The Flexy Canary Connector has been designed to work with the latest versions of Maven, and has been tested successfully with Maven 3.6.3+. Older versions of Maven may be compatible, but have not been tested and are not supported.Installing a Suitable Maven Version
Many IDEs and build tools include Maven, and may be used to build the {ScDocusaurusConfig.title} without installing Maven directly.
If you do not have a suitable Maven version installed on your system, or would prefer to use Maven manually, follow the vendor instructions to download and install one from the Apache Maven webpage.
Required Ewon Firmware Version
The Flexy Canary Connector requires a minimum Ewon firmware version of 14.6 or higher. Older firmware versions may be incompatible and are not supported.Installing a Suitable Ewon Firmware Version
If you do not have a suitable Ewon firmware version installed on your system, you may download and install one from the Ewon Support webpage.
Follow the instructions provided on the Ewon Support webpage for your specific Ewon device to install the firmware.
Contributing
Detailed information about contributing to this project can be found in the Contribution Guidelines.
Support Notice
While this project is intended to replace the functionality provided by the Ewon JTK's build.xml
Ant build file, the Ewon-supplied build.xml
Ant build file remains the only officially supported
environment for Ewon Java development. For more
information about the official Ewon-supplied build.xml
Ant build file, please refer
to https://developer.ewon.biz/content/java-0.
This project does not interact with the build.xml
Ant build file, or the Ant build system.
Therefore, it is possible to use the official Ewon-supplied build.xml
Ant build file in
conjunction with the supplied pom.xml
Maven build file.