I'm using eclipse for html5, js & css3.
On starting a new project, eclipse offered to start it using boilerplate. After a little research, it seemed a good thing to try. But on zipping the project up to send to a tester, I found I had a small app with a very large 4mb footprint...
I've found the culprit in myProject/.git/objects/pack
the file is
pack-8bbfc27fb4f49b9b8418123879a14af5e5dd861c.pack and is 3.8mb
Any ideas what this is for? Is it something eclipse has added?
Cheers
The .git directory is only used by the Git version control system. We use Git - as many other open source projects do - to manage the source code of the project.
Related
I use QtCreator + mingw.
I have compiled QSQLITE2 plugin. I simply entered plugin directory in Qt source code:
c:\Qt\Qt5.2.0\5.2.0\Src\qtbase\src\plugins\sqldrivers\sqlite
and I built it with my sqlite 2.8.17 that I have locally (as dll and header):
qmake "LIBS+=-Lc:\projects\lib -lsqlite" "INCLUDEPATH+=c:\projects\include"
make
make install
Everything builds okay.
Now, I have another DLL (also implemented as Qt plugin, a custom one), which makes use of QSQLITE2 Qt plugin. My own dll is also linked to sqlite.dll. So it looks like this:
my.dll depends on sqlite.dll
%QT_PLUGINS%\qsqlite2d.dll depends on sqlite.dll
my.dll uses qsqlite2d.dll through Qt's plugin engine
myApp.exe loads my.dll
Problem is that my application cannot load my.dll, because of invalid location access or something like that. I don't know any details and that's the problem.
The sqlite.dll is in the application directory when running it.
When I run application in debug mode, it crashes in some assembly file, but in stack trace I can see that it's somewhere inside sqlite.dll, in sqlite_step symbol. That's all I know.
Note 1) I have another plugin dll, the my3.dll, which uses QSQLITE plugin (it's for sqlite3) and is linked with sqlite3.dll and this one loads just fine. I have compiled QSQLITE plugin myself as well (even there was the one provided with Qt, that's because Qt linked statically to sqlite3 and I wanted it to link dynamically to sqlite3.dll).
Note 2) Both plugins work just fine under Linux.
Any hints what might be wrong? What else can I check?
EDIT:
I've just performed a test: I deleted my.dll from plugins to avoid loading it at all. Then I added code to main.cpp:
QSqlDatabase::addDatabase("QSQLITE2", ":memory:");
Thing is, that it also crashed, with the very same stack trace (at this very line, I debugged it). Thus I think there's something wrong with sqlite2 Qt plugin, but I'm still unable to tell what. I looked up for other sqlite.dll, I just downloaded the one from sqlite.org: http://www.sqlite.org/sqlitedll-2_8_17.zip - so it's official build, but it's the exactly the same file I had and it also fails the same way.
It turned out that qsqlite2d.dll cannot be linked sqlite.dll, because sqlite.dll is not compiled in debug mode. After recompiling application in release mode (thus using qsqlite2.dll, not qsqlite2d.dll), the plugin loads correctly and works.
This makes sense, but just one more thing that bugs me - qsqlited.dll (for sqlite3) had no problem linking with sqlite3.dll. No matter if I compiled debug or release - the single sqlite3.dll worked with both debug and release plugins. Anyone has an idea how is that possible? Please comment if you do, I'd appreciate it.
I've been working with Flash Builder for quite a long time, but just lately, developing a relative small project in Flex, when I try to auto complete the code sometimes the whole application crashes (keeps loading forever). It happened when I was writing <Style source="" /> or even when it was auto generating an handler for an event, so I guess it doesn't depend on the classes I use.
Any suggestion?
thank you
This is probably a dead thread, but I'll answer where the eclipse.ini is on Windows Machines:
In your Program Files directory (Program Files (x86) if you're running 64-bit) and then in the following folders:
\Adobe\Adobe Flash Builder 4.6\eclipse\eclipse.ini
Good luck!
On Mac OSX, use this file :
/Applications/Adobe Flash Builder 4.5/Adobe Flash Builder 4.5.app/Contents/MacOS/Adobe Flash Builder 4.5.ini
You will also need to recreate your workspace (delete .metadata folder).
You might be interested by this article : http://blogs.adobe.com/flexdoc/2011/09/improving-flash-builders-performance.html
Try the following:
Locate your eclipse.ini file and set the following settings to higher values than you have right now.
-Xms600m
-Xmx800m
I am currently following instructions in a book to develop an application. It asks me to download StructureMap and then move the StructureMap.Dll file and the Log4Net.dll into the bin files. The problem is there doesnt seem to be a Log4Net.dll file in the StructureMap files, the only other dll apart from the StructureMap.dll is the Rhino.Mock.dll. can anyone help?
Thanks
Rachel
StructureMap underwent a bit of an overhaul recently, so it's possible that a dependency on log4net was removed during that process. In any case, StructureMap does not currently require log4net. Here's a quick screenshot from Reflector showing as much:
(source: cryptofreak.org)
It might be worthwhile to find out which version of StructureMap the book is referencing and try that one rather than the latest.
I'm developing the same social networking site too. Download StructureMap V.1.1 from here, where you will find both the dlls:
http://github.com/structuremap/structuremap/downloads
I want to created a JAR file and I want to run it on a client machine.So, I have a couple of questions:
How can I convert the JAR file to an EXE file?
How can I encrypt the JAR file's contents? The jar file could be extracted with WinRAR and the classes could be decompiled with any Java decompiler.
How can I create an installer? My clients doesn't have any JVM and I don't want to ship JDK or JRE along, because they have big size.
See this link: Java to Exe. It also explains what valid reasons are to do this, and when you should not.
You can't really encrypt binaries as the machine has to understand them. That said, an optimized executable is very difficult to decompile, while plain class files are ease.
If you have an exe there are installers enough.
JSmooth is a application which will wrap your Jar in an exe
it also allows you to check if the correct version of JRE is available on the system you're deploying to
http://jsmooth.sourceforge.net/
As for 1): I guess you can not. There may be tools out there, but you cannot do that with standard tools shipped with JDK, as it would destroy platform independance. (See other answers providing links to such 3rd party tools)
As for 3): Use InnoSetup to create the installer. Include JRE within setup and let InnoSetup install it on the fly.
You can't prevent decompilation. The best you can do is make it harder or more time-consuming to do so. As an answer to your question though, I believe you can use gcj to compile Java into EXEs.
May be Excelsior JET will satisfy your needs.) IMHO very mature product.
1) I have recently tried the program jarToExe and like it.
Some features are:
free basic version or very cheap ($30) for 'enterprise'
ability to have windows task manager list your app's name instead of the default java.exe
extra obfuscation
runtime check that java is installed
2) You can make it harder to reverse engineer using proguard or other obfuscator
3) nsis is a very powerful, free scripting language to create windows installers. Good documentation on the site wiki and support on stack overflow as well.
Launch4j worked for me while some tools hadn't been working. It also have a good guide here.
Hope this help!
We use a 7zip SFX install launcher. This is an open source simple tool. It will package your jar, a version of jre so it's not mandatory for the installing systems to have jre installed and a self extracting version of 7zip. Here is a tutorial which explains how to bundle and GitHub link
The project is not maintained but works perfectly(tested until Java 1.8)
1) To create the exe, you can use Launch4j
2) As I have seen, you cannot encrypt the jar contents. I'm not sure though.
3) To create the installer you can use the exe you just created and use InnoSetup to create the files. You have to embed the jre inside the installer and also any other libraries and extra files that may need in the runtime. When embedding the jre, the setup gets large and if you want to avoid that, you can ask the clients to install java in the machines. That way, you wont need to ship with the jre.
Is there a way to reverse engineer a pre-compiled website .... if for example someone 8) was silly enough to publish their site to a virtual directory witha local path set to the project folder in VS2008?
Help :)
Reflector is difficult to use with a precompiled site because of the way it breaks up the pages. It is not always clear and not an easy way to reverse engineer.
In fact, one of the main reasons we precompile sites is becuase it is harder to reverse engineer and update production code.
You should be able to use Reflector to see the source code. There are plugins which will decompile an assembly (.DLL or .EXE) created with .NET into a new Visual Studio project.
I had the similar issue and used Reflector to Decompile it. I got the source code, then changed the bit I wanted, and rebuild it. Then I copied that dll again to Production site. It started to reflect my changes. It was very easy and not at all difficult, maybe because Precompiled site had dlls for every page, and was updatable , so had only code-behind file in dll.
For reference: http://www.reflector.net/