We have a set of Talend Jobs running in production, which were created many years ago and the developer is no longer with the company. However, the source code for the jobs is missing - only have the compiled jar files.
Is there a way to reverse engineer the jobs from the jar file? If I de-compile the jar file, can I import them/open them in Talend? Don't want to re-build these jobs since we are re-engineering the entire project, but need to update them since have to migrate servers.
Any thoughts/ideas will greatly be appreciated.
Thanks,
Bee
When you build a Talend job, it creates a zip file which contains the compiled code, necessary jar files, and usually a copy of the job definitions (this is effectively a copy of the original project and your source code).
Find where the job is deployed. Look inside the job's folder. if you have a job named "example_job", you'll likely have a folder structure in there that looks like this
example_job
* lib
* example_job
** items
*** example_job (Look in this folder. it contains the original project)
** example_job
** src
Related
I am using the mybatis-generator in a maven project to generate the Java files for a few tables. At the end of the generation, I would like to generate a few non-java files like properties files and resources. However the default generator allows me to generate only XML and Java files. Is there any way to also get the generator to create sql files, SPI definitions and property files for example?
Looking inside the generator, it seems that the Generated java files and XML files go through some further process(formatting et al). Even if I write a custom plugin, I can generate an XML or an sql file only but not a properties files or an sql file. Even if I did, I cannot get the process to finish because the subsequent steps would fail.
Currently, I am getting over these by creating my own files and writing them thru a custom plugin. However, during the plugin execution, the folder target/generates-sources/mybatis-generator is not created yet. Therefore assuming that location to have already been created is ruled out. On the other hand, if I go ahead and create the folder and its internal META-INF/services folder, I am not sure if this will be overwritten at a later stage. In addition, my plugin does not (by virtue of the way the generator initiates plugins), have access to the project root folder. So that is not an option either.
I neither have access to the ShellCallBack, implying that postponing the file creation to a well defined time-point in the build process is also not possible.
So how do I go about creating the service definitions and the additional resource files?
The last resort is to hard-code the project folder or to pump the project folder through a property. This is coming to my rescue now. But clearly, the generated files are being detected by my git client and I have to clean up these files also despite their being dynamic.
Hints please?
Thanks in advance.
Rahul
The generator currently supports Java, Kotlin, and XML file generation. There is an open feature request to support other file types in plugins. You can follow it here: https://github.com/mybatis/generator/issues/752
First of all, sorry if my question seems to be duplicated but I have thoroughly search during hours and hours a solution without any success...
This is my current context :
I have developped a huge talend job which uses many others jobs
I have built my talend job as a standalone jar. That resulted in a zip file containing a lot of others jars (around 100). All of those jars are needed for my talend job to work. Those are secondary jobs or libraries, etc.
Then I have made a spring-boot java application (using maven...) that can run my talend job among others things.
In order to do that, I had to import every jars into my project => i.e build path. Those 100+ jars are all visible inside the "referenced libraries" folder.
When I run my app through Eclipse, everything is working well but now what I need is to build this app as a jar, or something I can run on another machine/server.
I don't know anything about maven, but if I understand well, I need to use the command maven-install in order to build my project... The problem is the command throw me errors because it doesn't find all my libraries.
I found many solutions that says to create a local repository, to use maven-install for each jar, or maven-deploy for each jar, then add dependencies into my pom file for each jar...
As you could understand, that's not a good solution for me and my 100+ jars...
I heard about nexus or something like that, but I am the only one person working on this project and this solution seems to be interresting when a whole team is working on the same project.
So, if any of you knows how I can manage that, I would be very grateful.
Thanks.
Is it possible to deliver an update which contains only the updated libraries and not the whole package of data. in our application only a few files are updates regularly. The other ones never. With Auto update over the net this would result in a much smaller package...
Is such a setup possible and how?
Thank you.
You can do this by saving your project to a different file (keeing the application ID) and removing the unnecessary files from the distribution tree. When you compile that project, an updates.xml file is created as usual. Use that updates.xml file for auto-updates instead of the updates.xml file from the standalone installer project.
I have a very large code base whose build.xml consists of so many jar, some war files. One .class file may refer to more than one jar file. I manually compile the code and deploy the .ear file using Ant into weblogic 10.3 application server. But this compilation and deployment takes around 10 to 15 mins time. Is there any way to escape this part? Means, when I modify any java class from ide, it would generate a .class file in bin folder. Can I take all the modified .class files from bin folder and directly deploy them on corresponding jar files without doing server restart? Any help would be appreciated.
Thanks in Advance,
I recommend taking Ant out of your iterative development process. Since you are already an Eclipse user, install Oracle Enterprise Pack for Eclipse and deploy/run your app from Eclipse. OEPE will take care to do the minimal amount of work possible at deploy time for a given set of changes.
Is there a way to preserve folder structure with MSTEST deployment?
I have a situation with some existing code where I have .config files in a subfolder (called "Configuration"). I can specify this folder using MSTEST deployment but, in it's infinite wisdom, MSTEST just copies the files from this folder to the run folder (TestResult\\Out), i.e. it does not create a subfolder called Configuration. This royally screws up the code and it fails. I don't really want to have to start using complicated pre-test scripts to create folders etc.
Any ideas gratefully received.
Matt
I think I had the same problem...
My tests used a folder called xsd and I wanted to deploy the folder to the test \OUT directory. When I did this, the files inside the xsd folder were copied to the test \OUT directory, but I wanted the folder xsd into the test \OUT directory...
To solve this I read this. (Wayback machine has an archive of this page here)
If you're using the DeploymentItem attribute, it takes a second argument for the name of the directory to copy the files into. If you use the same name as your folder it preserves everything.
To use your test case you'd do:
[DeploymentItem("Configuration", "Configuration")]
class TestClass
....
and it would work.
Yes, you can. read the article Do MSTest deployment items only work when present in the project test settings file?
It explains how to map deployment items.
In Visual Studio 2012 the output directory is the working directory which means that the DeploymentItem attribute isn't needed for the general case (where you don't have specific per-test or per-class deployment items). You can simply click Project | Show All Files and include the subfolder and files in Visual Studio with the 'Copy Always' or 'Copy if newer' attribute to your project and the files will be copied to your output directory with hierarchy intact. The same applies when running vstest.console.exe from the command line.
See here for more information about Deployment Items in Visual Studio 2012.